Pi Pico SDK 1.5.0 Release Adds Bluetooth Support
Plus many other additions and improvements, now available!
Raspberry Pi has released version 1.5.0 of the Pi Pico SDK. This software development kit supports programmers working with the RP2040 microcontroller in C, C++, and assembly languages. While there are considerable additions and updates, the line item with many people's attention is beta support for Bluetooth on the Pi Pico W!
Pi Pico W Bluetooth support
When Raspberry Pi introduced the Pi Pico W in June 2022, the press release used soft language regarding Bluetooth support. However, the W-variant of the Pico microcontroller board added an Infineon CYW4334 — a module with Wi-Fi and Bluetooth radios! So while Bluetooth (firmware) support seemed inevitable, it was not guaranteed until 1.5.0 of the Pi Pico SDK.
For the Bluetooth API, the SDK is using BTstack from BlueKitchen. This library brings functionality for classic Bluetooth, Low Energy (BLE), Sub-Band Coding, and encapsulation support with the lightweight IP (LwIP) stack. Which, for a first release, is a robust starting point. If you read the BTstack license agreement, you may share a concern others have had. It is, by default, licensed for non-commercial use only.
On GitHub, Graham Sanderson states that Raspberry Pi will license BTstack with more permissive use with the RP2040. Unfortunately, at the moment, there are no details about those permissions. However, this position is familiar to the SDK. For example, the CYW43-driver has a license specific to RP2040 usage. So, while ultimately, this licensing may not be an issue for commercial use, it is something to verify before moving forward when using this support in a product.
Other changes
Another notable update occurs with the TinyUSB library. The previous versions of the SDK used a slightly outdated version of TinyUSB and had several issues, especially as a Host. Version 1.5.0 of the Pi Pico SDK now incorporates TinyUSB version 0.15.0. Related to USB, the stdio library now gives you the option to define some of the USB descriptions. For example, the VID, PID, Product ID, and Self-Powered flag are now user-definable.
There are numerous updates related to the CYW43_driver (Wi-Fi). We're excited to see enabling applications like MQTT and multicast DNS. There is also improved support for FreeRTOS.
Download Pi Pico SDK 1.5.0
Check this Pi Pico SDK 1.5.0 release log for a bulleted list of updates. It also links to the commits and issues involved with this version. In addition, you can download/pull 1.5.0 of the SDK from GitHub today.
Electronics enthusiast, Bald Engineer, and freelance content creator. AddOhms on YouTube. KN6FGY.