Raspberry Pi Pico W comes with a chip, CYW43439, that is capable to do WiFi and Bluetooth (both Classic and LE). According to Chapter 2.1 in Raspberry Pi Pico W:s datasheet, GPIO24, GPIO25 and GPIO29 is used to communicate with the CYW43439 chip using SPI protocol.

Chapter 4.2 in CYW43439:s datasheet describes the generic SPI protocol interface, but Chapter 4 is the WLAN System Interface documentation. The same datasheet describes in Chapter 9.2, that UART is the interface for Bluetooth Host Controller Interface, HCI.

When programming on the RP2040 microcontroller, I should use the wired GPIO pins to use SPI to interface CYW43439, but how can I access the Bluetooth HCI from this SPI protocol?

There is a pico C SDK (that I don't really understand), but I would like to understand the interface to implement a driver in a different programming language.


1 Answer 1


I have now learnt that this is an undocumented area, so the only option is to use the pico C SDK (e.g. the suggestions in this issue).

I will consider to use a nRF chip instead, since they appear to be better documented when it comes to Bluetooth.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.