New functionality: Bluetooth for Pico W

In June last year, we launched Raspberry Pi Pico W, a $6 wireless-enabled variant of our Pico platform, built around our RP2040 microcontroller. In the year since, we’ve sold over half a million of these tiny boards, and they’ve found their way into countless projects, from singing fish to web servers to communicative house plants.

But one thing has been missing: Bluetooth support. Now that’s been fixed – and you don’t even need to buy a new Pico W.

Raspberry Pi Pico W, our $6 wireless-enabled variant of our Pico platform, built around our RP2040 microcontroller, now has Bluetooth support.

Pico W’s wireless functionality is provided by the Infineon CYW43439 device, which contains a 2.4 GHz radio providing both 802.11n Wi-Fi and Bluetooth 5.2, supporting Bluetooth Classic and Bluetooth Low Energy (BLE) functionality. At launch, our firmware and host-side software only enabled Wi-Fi, not Bluetooth.

Now, with the release of version 1.5.1 of the C SDK, and the latest MicroPython build, your existing Pico W has gained the ability to communicate with Bluetooth and Bluetooth LE devices. Specifically, we support Bluetooth Classic — with the temporary exception of ACL/SCO — along with both the BLE Central and Peripheral roles. Things are also configurable so you can enable Bluetooth Classic and BLE either individually, or have both of them available at the same time. Full details of supported Bluetooth protocols and profiles are available on GitHub.

Raspberry Pi Pico W, our $6 wireless-enabled variant of our Pico platform, built around our RP2040 microcontroller, now has Bluetooth support.
A temperature sensor peripheral device written in MicroPython running on a Pico W in the Punch Through LightBlue app on an iPhone, showing: advertising data (left), services (middle), and temperature service (right).

If you want to get started with Bluetooth and your Pico W the best place to start is our documentation site, and the Connecting to the Internet with Raspberry Pi Pico W book, which walks you through getting started with Bluetooth LE using both the C SDK and with MicroPython.

Credits

Routing both Wi-Fi and Bluetooth traffic over the single three-pin SPI bus between RP2040 and CYW43439 has been a substantial engineering challenge. We’d like to express our thanks to our friends at Infineon, and in particular Graham Smith, for their assistance in productionising this capability.

Bluetooth Classic and BLE support in the SDK is provided by the BTstack library from BlueKitchen. Matthias Ringwald provided extensive assistance with integration and verification. Raspberry Pi Pico W customers benefit from a pre-paid commercial license for BTstack, allowing you to use Pico W as a component in your own products.

Here at Raspberry Pi, Peter Harper was responsible for the Pico W host-side software; Graham Sanderson developed the SDK; and Alasdair Allan wrote the docs.

Last, but not least, Damien George is (of course) responsible for making MicroPython work.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Server Status

Aradippou Chat Larnaca Nicosia

Chat Links

Official Links.

Chat.

Alternative Mirror Links.

1. KiwiIRC 1.
2. KiwiIRC 2.

Other Web Clients.

1. IrcCloud.

Recent Posts

Related Posts:

Archives

Follow me on Mastodon

Super Club Radio

Mighty Deals

CyIRC

CyIRC Tweets