• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Raspberry Pi Pico W Updated with Bluetooth Support

T0@st

News Editor
Joined
Mar 7, 2023
Messages
3,149 (3.94/day)
Location
South East, UK
System Name The TPU Typewriter
Processor AMD Ryzen 5 5600 (non-X)
Motherboard GIGABYTE B550M DS3H Micro ATX
Cooling DeepCool AS500
Memory Kingston Fury Renegade RGB 32 GB (2 x 16 GB) DDR4-3600 CL16
Video Card(s) PowerColor Radeon RX 7800 XT 16 GB Hellhound OC
Storage Samsung 980 Pro 1 TB M.2-2280 PCIe 4.0 X4 NVME SSD
Display(s) Lenovo Legion Y27q-20 27" QHD IPS monitor
Case GameMax Spark M-ATX (re-badged Jonsbo D30)
Audio Device(s) FiiO K7 Desktop DAC/Amp + Philips Fidelio X3 headphones, or ARTTI T10 Planar IEMs
Power Supply ADATA XPG CORE Reactor 650 W 80+ Gold ATX
Mouse Roccat Kone Pro Air
Keyboard Cooler Master MasterKeys Pro L
Software Windows 10 64-bit Home Edition
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.

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.

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.

Update: Bluetooth support merged upstream into the official MicroPython repo.

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.

View at TechPowerUp Main Site | Source
 
Back
Top