bluetooth
bluetooth copied to clipboard
Generic HCI Controller Support
The TinyGo Bluetooth library currently includes support for HCI using an external ESP32 coprocessor running NINA-FW. Extending the library to support alternative controllers, in particular the Zephyr Bluetooth controller, would make it possible to use Bluetooth with a larger variety of chips/boards. The HCI protocol should be mostly compatible.
Zephyr's samples/bluetooth/hci_uart supports:
- Nordic nRF52
- Nordic nRF5340 Network Core
- ESP32/ESP32-C3/ESP32-S3
I've done some preliminary testing with RP2040 running TinyGo and Nordic nRF52840 running samples/bluetooth/hci_uart
.
- Scanning
- Mostly works
- Some minor timing adjustments may be necessary to accommodate the speed of incoming scan data
- Connecting (as central) to peripheral works
- Notification subscription (as central)
- Does not work with Nordic nRF52 HCI
- Does work with ESP32-C3 HCI running the same Zephyr project