Embedded Bluetooth Host Solutions in 2019??........... - Page 1
Forum section: electronics / general

author: Smokey
author_rank: Super Contributor
timestamp: May 23, 2019, 10:26:15 am
content: I'm a bit surprised at the lack of solutions for embedded devices that can act as a Bluetooth host so you can connect other devices to it. With Bluetooth being pretty much the standard wireless peripheral interface, it's a bit of a bummer it's not easier to connect devices like Bluetooth headsets, keyboards, mice, etc to custom embedded systems that aren't cell phones or full blown Linux computers.At the moment I'm looking for a processor/solution that can handle Bluetooth host connections so I can use a simple mono Bluetooth audio headset device (HSP or HPP Profiles). Does that exist?The spec wish-list for a solution would be:1) Low-ish Power (for battery operation)2) Available through distribution (no AliExpress)3) Something with Bluetooth host libraries available (at least for HSP or HPP)4) Lowest feature bloat possible (preferably not a full on Linux system-on-chip with associated implementation headaches, unless that's the only way to go)Something like a Raspberry Pi Zero is the smallest lowest cost thing I've found that may actually function currently as an embedded Bluetooth host, which isn't really very close to a viable solution for a custom product. It sounds like ESP32 may have the capabilities, but there aren't librariesand supply chain doesn't look like a fun time to deal with. Is there anything with Bluetooth Host libraries from any of the big players with embedded wireless solutions like TI, ST, Microchip, Silabs, etc? So far I haven't found anything, but then again I may just suck at speccing parts even after all these years.Thoughts?

author: Smokey
author_rank: Super Contributor
timestamp: May 23, 2019, 08:44:51 pm
content: Bump

author: mubes
author_rank: Regular Contributor
timestamp: May 24, 2019, 09:35:55 am
content: It depends on what you want to do, as usual....but you may well find that one of the modules can do pretty much what you need, which avoids you needing to deal with an inconveniently small BGA type chip. I happen to be playing with the AP6212 at the moment which has both BT and WiFi, and has PCM in-out...if you wait for a little while that'll be a single open source board that is way overkill for what you want but gives you a starting point. AFAIK the hostiness can be done by most things if you talk to the BT radio over HCI...there are open (BSD etc) libraries for that...BT isn't really host/client oriented.I think there are nicer, smaller, solutions out there (e.g. the NXP (nee Freescale) QN9080 but I have no idea how easy they are to play with.RegardsDAVE

author: Smokey
author_rank: Super Contributor
timestamp: May 24, 2019, 09:40:15 pm
content: That NXP part looks promising. I'll have to contact my rep guy and get some details. Thanks for the heads up!

author: jeremy
author_rank: Super Contributor
timestamp: May 24, 2019, 11:44:51 pm
content: Esp32 supply chain issues? I buy them from digikey and mouserThe Bluetooth libraries for ESP32 are pretty solid, but I must admit I only really use BLE.

author: MosherIV
author_rank: Super Contributor
timestamp: May 25, 2019, 09:05:23 am
content: QuoteThat depends on what you call an embedded device.Some of the embedded devices that I have worked on have very simple user interface.Not enough to go through 'pairing' up host and device.QuoteMost radio transmittion is going to use lots of power, reatively speaking, so making battery powered very challenging.All this pushed the embedded world away from Bluetooth.I think there has been a revised Bluetooth protocol that is even lower power and has simpler pairing scheme.

author: janoc
author_rank: Super Contributor
timestamp: May 25, 2019, 09:36:08 am
content: Quote from: MosherIV on May 25, 2019, 09:05:23 amThat's not really true, Bluetooth is hardly a battery hog, if implemented properly.Bluetooth Classic is a problem because of its complexity. Getting a Bluetooth host running takes a fairly beefy MCU and a lot of memory and that is the stack alone, you still have to provide your own application on top of that!There are chipsets that can handle acting as a host/master - e.g. from CSR or BlueGiga. However, the development kits, software stacks and everything is proprietary and expect to spend a lot of money on it.If you can work with Bluetooth Low Energy (Bluetooth 4.x or Bluetooth 5.x), then there are plenty of solutions that can work as both "host" and "device" (BLE uses different terminology), including changing roles on the fly or acting as both simultaneously (BLE supports mesh networking). E.g. the Nordic nRF52 series is pretty nice for that - gets you a radio plus a fairly beefy Cortex M MCU in one. Battery consumption is about 2-3mA when transmitting and some 20uA when sleeping.BLE is not supported as widely as Bluetooth Classic but most cellphones support it, also most new Bluetooth dongles do, recent versions of Windows 10 have also finally got reasonable support for it.

author: Smokey
author_rank: Super Contributor
timestamp: May 25, 2019, 11:31:16 am
content: Cool. Good leads.Are they updating the way mono headsets work, like HSP profiles, for the new versions of bluetooth or is that always going to need classic? The tiny battery in most headsets runs for like 7 hours so at least the device side is pretty low power, even with the classic HSP.

author: Smokey
author_rank: Super Contributor
timestamp: May 25, 2019, 11:33:55 am
content: Quote from: jeremy on May 24, 2019, 11:44:51 pmCool. Thanks for the heads up. I didn't know they were actually available from US distribution. I wonder if that makes a headache for Digikey, or if Espressif is legit enough now to actually have real quality control and supply chain integrity?

author: Smokey
author_rank: Super Contributor
timestamp: May 25, 2019, 11:53:02 am
content: Baaa.... NRF52 series was looking really cool.. but...https://devzone.nordicsemi.com/f/nordic-q-a/44043/can-i-use-hsp-hfp-profile-together-with-hid-profile-within-one-ic-nrf52-bluetooth5-0-icQuote

author: janoc
author_rank: Super Contributor
timestamp: May 25, 2019, 07:19:18 pm
content: Quote from: Smokey on May 25, 2019, 11:53:02 amYep, those chips don't work with Bluetooth Classic. Get BLE headphones?If you can't, then you are stuck with the chipsets like those made by CSR, Bluegiga and similar. And expect complexity and a lot of $$$ to be spent on development kits and modules.I have been looking into this in the past because I wanted to use cheap Bluetooth controllers (HID) and the most feasible way unless one wants to pay big money for the proprietary development tools is to implement a HCI interface for an USB Bluetooth dongle.There are some projects online doing this using STM32s and PIC32s, AFAIK. However, this is a very complex approach (complex Bluetooth stack on top of the USB host stack, not to mention that each dongle is different and you need to write a driver for them!), by then it is probably simpler and cheaper to stick a Raspberry Pi Zero with an USB dongle in there and be done with it ...There are some Bluetooth modules that implement the HCI interface over UART, so that saves you the whole USB host stack mess, but those are not commonly available (or rather you need the expensive dev tools and reprogram a regular module with the proper firmware).

author: Smokey
author_rank: Super Contributor
timestamp: May 25, 2019, 11:18:37 pm
content: Quote from: janoc on May 25, 2019, 07:19:18 pmDoes that even exist?It doesn't look like there is any sort of audio profile in BLE now.https://en.wikipedia.org/wiki/Bluetooth_Low_Energy#ApplicationsArticle from 2016 talking about future plans for BLE audio:https://www.businessinsider.com/bluetooth-audio-future-update-low-energy-2016-10

author: janoc
author_rank: Super Contributor
timestamp: May 26, 2019, 12:06:24 pm
content: Quote from: Smokey on May 25, 2019, 11:18:37 pmI haven't looked into BLE audio support but e.g. HID (which I needed) exists and is quite well supported.