Building a BLE HID device, what IC to use?

Go To Last Post
8 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been immersed in Arduino and the Atmega32u4 for the better part of 18 months to bring a wired product to market. It's a game controller/joystick for PC/Mac/Android. I'd like to start working on the next version as we finalize manufacturing and I want to explore it being BLE wireless. If I can get through the hardware partnership hurdles I'd like to even explore getting it on Xbox and iOS. 

 

I'm strongly considering making it have an internal battery that is rechargeable via USB, and also playable via USB. Initially I was looking at the ESP32 but it seems to draw a lot of power. I then looked at the STM32 and got a little overwhelmed. I am beginning to think the Nordic nrfXXX chips might be the best choice. I'm discovering that there are no good options right now given supply chain shortages, as ARM-based chips seem to be hard to get. 

 

What is the easiest to develop, most cost-effective, and most battery-effective IC you all recommend for this project? And what development kit should I explore? Adafruit Bluefruit? 

 

There will likely be 7-8 axes and 18 buttons. 

Last Edited: Mon. Aug 1, 2022 - 04:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MajorTom76 wrote:
I'm discovering that there are no good options right now given supply chain shortages, as ARM-based chips seem to be hard to get. 
ARM on what wafer fab process?

Seems GlobalFoundries and TSMC have greater access for certain processes.

The next long pole in the tent is lead frames (some packages have greater availability)

MajorTom76 wrote:
... and most battery-effective IC you all recommend for this project?
Ambiq Apollo4 Blue

MajorTom76 wrote:
And what development kit should I explore?
Microchip Technology Early Access to Bluetooth ARM Cortex-M4.

MajorTom76 wrote:

There will likely be 7-8 axes and 18 buttons. 

That will limit the set of Bluetooth Low Energy SoC; might consider an aggregator(s)

 


Apollo4 Blue - Ambiq

 

MPLAB Harmony Wireless BLE (HID over GATT Profile)

WBZ451 and PIC32CX-BZ2 Early Access Development Kit | Microchip Technology

 

GreenPAK™ Programmable Mixed-signal Products | Renesas

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think that you should reconsider the ESP32 because their literature emphasizes low to variable power control as a feature.   I suspect that it could be possible that your estimations may be based on an misread quote from a datasheet.  I suspect that the entire chip can be put into very low power except for the on-board BLE system that would switch on at timed intervals.

 

The ESP32 chips seem easy to get. The basic module boards (ICs and WiFi components) seem to cost about $3 on DigiKey and eBay.   There are several variants that each have several thousand in stock at DigiKey.   There are several family lines ESP32, one has a dual core processor, and one has an open-sourced RISC-V single core.

 

By installing the ESP32 core to your Arduino, you can transfer a lot of the code from the ATmega32u4 to the ESP32.  There is a core for ARM, but I think that it only supports STM32F104 BluePill and BlackPill boards.  I don't think that there an Arduino core for Nordic nrfXXX chips, which means that you would possibly need to buy a compiler IDE system for it.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:
... for Nordic nrfXXX chips, which means that you would possibly need to buy a compiler IDE system for it.
There are several Arm IDE; some such are FOSS :

What is GNAT Studio? | GitHub - AdaCore/gnatstudio: GNAT Studio is a powerful and lightweight IDE for Ada and SPARK.

GNAT Studio is a lightweight, extensible IDE, intended to develop high-integrity software in Ada and SPARK, with support for C and C++ as well.

[picture : GDB console is lower left; breakpoints mirror between source windows and GDB]

transparency : was an operator of from approx '99 to mid-'07.

bb-runtimes/arm/nordic at community-2021 · AdaCore/bb-runtimes · GitHub

Debugging the Program | ARM-ELF Topics and Tutorial — GNAT User's Guide Supplement for Cross Platforms 23.0w documentation

Arm CMSIS-DAP is open, tools can be very low price, Arm SVD describes peripheral interfaces (registers); all is a part of Microsoft Visual Studio 2022 :

Visual Studio Embedded | AVR Freaks

Nordic Semiconductor Arm for proof-of-concept and maybe first prototype :

Micro:bit is on its way for schoolchildren | Page 2 | AVR Freaks

Micro:bit Educational Foundation | micro:bit

micro:bit is a part of AdaCore's training.

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It's a game controller/joystick for PC/Mac/Android.

Aren't there about 10 gazillion varieties already?  How will this compete with the Far East pricing of game controls?

I want to explore it being BLE wireless.  

That sounds a bit odd; if it is a high volume product aren't you working under a detailed development spec?

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you considered latency over the BLE link ?

This looks like an interesting project. I've not done an HID device - it looks a bit overwhelming.

 

Bluetooth HID gamepad using HC-05 module

github.com/lemmingDev/ESP32-BLE-Gamepad

TI Application Note: HID over GATT Profile (HOGP) Bluetooth® Low Energy

 

PS: It does seem latency, can be overcome, and isn't the problem it once was.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:
There are several variants that each have several thousand in stock at DigiKey.   There are several family lines ESP32, one has a dual core processor, and one has an open-sourced RISC-V single core.
ESP32 had BLE along with Wifi.
avrcandies wrote:
How will this compete with the Far East pricing of game controls?
 yes

www.tokopedia.com/madagang .Buy and Donated cheap electronics and manuscripts.

Last Edited: Wed. Aug 3, 2022 - 09:04 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

Last Edited: Tue. Oct 4, 2022 - 01:56 AM