bluetooth icon indicating copy to clipboard operation
bluetooth copied to clipboard

Generic HCI Controller Support

Open xudongzheng opened this issue 1 year ago • 0 comments

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

xudongzheng avatar Jan 19 '24 23:01 xudongzheng