As expected, the Raspberry Pi Pico 2 W – the wireless version of the Raspberry Pi Pico 2 – is now available with an extra 2.4GHz WiFi 4 and Bluetooth 5.2 wireless module at an official price of $7. We’ll go through the specs and perform a mini review in this post trying out both WiFi and Bluetooth code samples.
It’s not the first Raspberry Pi RP2350 with WiFi and Bluetooth we’ve seen, as Pimoroni introduced the Pico Plus 2 W board with an RP2350B MCU and Raspberry Pi RM2 Wi-Fi and Bluetooth module, and iLabs launched the Challenger+ RP2350 WiFi6/BLE5 board relying on ESP32-C6 wireless module. However, the Raspberry Pi Pico 2 W is the official board, is cheaper, and will certainly be the most popular/widely used.
Raspberry Pi Pico 2 W specifications
Raspberry Pi Pico 2 W specifications:
- SoC – Raspberry Pi RP2350
- CPU
- Dual-core Arm Cortex-M33 @ 150 MHz with Arm Trustzone, Secure boot and
- Dual-core RISC-V Hazard3 @ 150 MHz
- Only two cores can be used at any given time
- Memory – 520 KB on-chip SRAM
- Security
- 8KB of anti-fuse OTP for key storage
- Secure boot (Arm only)
- SHA-256 acceleration
- Hardware TRNG
- Fast glitch detectors.
- Package – QFN-60
- CPU
- Storage – 4 MB on-board QSPI flash
- Wireless – 2.4GHz 802.11n WiFi 4 and Bluetooth 5.2
- USB – Micro USB 1.1 host/device connector for power and programming
- Expansion – 26-pin GPIO header with
- 2x UART
- 2x SPI controllers
- 2x I2C controllers
- 24x PWM channels
- 4x ADC
- 3x PIO blocks, 12x PIO (Programmable IO) state machines
- Debugging – SWD debug interface
- Power Supply – 1.8 to 5.5V DC
- Dimensions – 51 x 21 mm
- Temperature Range – -20°C to +85°C
- MTBF Ground Benign – 182,000 hours
- MTBF Ground Mobile – 11,000 hours
- Production lifetime – Until at least January 2040
The Raspberry Pi Pico 2 W can be programmed with the Pico C/C++ and MicroPython SDKs, but you’d need to use the develop branch of the Pico SDK at this time, and pico-examples can be compiled with the PICO_BOARD=pico2_w flag. The MicroPython port is still under development as well, but a recent MicroPythom for Pico 2 W build can be found on Google Drive.
Raspberry Pi Pico 2 vs Pico 2 W comparison
Since I received a sample, I compared the Raspberry Pi Pico 2 to the Raspberry Pi Pico 2 W.
The most obvious changes are the wireless module and antenna, but the 3-pin debug header has also been moved to another location to make space for the antenna, and components are placed differently on the board. The location of the micro USB port, LED, and Reset button remains the same, and no changes were made to the GPIO headers either as can be seen on the bottom side comparison photo.
The position of the test points TP1-TP3 (GND and USB) is the same, but TP4-TP6 test points have been moved slightly down, and “TP7” in the center of the Pico 2 is gone on the Pico 2 W. Those would not be typically used, except potentially for BOOTSEL (TP6):
- TP4 – GPIO23/SMPS PS pin (do not use)
- TP5 – GPIO25/LED (not recommended to be used)
- TP6 – BOOTSEL
- TP7 – 1V1 (do not use)
Testing WiFi and Bluetooth using the Pico C/C++ SDK
I expect the instructions to use WiFi to be the same as for the Raspberry Pi Pico W. Let’s try this on the Raspberry Pi Pico 2 W using the Pico C/C++ SDK develop branch and samples on a laptop running Ubuntu 22.04.
1 2 3 4 5 6 7 |
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential git clone https://github.com/raspberrypi/pico-sdk cd pico-sdk/ git checkout develop git submodule update --init cd .. git clone -b develop https://github.com/raspberrypi/pico-examples.git |
Now let’s configure the build:
1 2 3 4 5 |
cd pico-examples/ mkdir build cd build export PICO_SDK_PATH=../../pico-sdk cmake -DPICO_BOARD=pico2_w -DWIFI_SSID="Your Network" -DWIFI_PASSWORD="Your Password" .. |
So far, I followed the same instructions as for the earlier board, except I selected the “develop” branch for the SDK and examples, and set PICO_BOARD=pico2_w to build the samples for the Raspberry Pi Pico 2 W. Let’s build the WiFi scan sample:
1 2 3 |
cd pico_w/wifi/wifi_scan make -j8 cp picow_wifi_scan_background.uf2 /media/jaufranc/RP2350 |
I used the Bootterm utility to wait for the serial console to show up:
1 2 |
jaufranc@CNX-LAPTOP-5:~/edev/Pico-2W/pico-examples/build/pico_w/wifi/wifi_scan$ bt -a Waiting for one port to appear... |
But it never came as if the program was not running, and there was no USB serial interface in the kernel log. But I did notice an error:
1 |
[77666.086611] FAT-fs (sda1): unable to read boot sector to mark fs as dirty |
So I ran on the FAT partition (RP2350), but it did not help. So I copied flash_nuke.uf2 to “clean” the board, but still no luck. At this point, I decided to go back to basic trying the blink.uf2 sample, and it worked… At this point, I thought maybe Raspberry Pi decided not to use printf message to the serial console anymore, but do so through the Raspberry Pi Debug Probe. I’m not going to do this since this is was supposed to be a short post, and went to build the access_point demo instead using the same steps as for the wifi_scan.
There was still no output in the serial console, but the picow_test access point did instead show up. After connecting to it using the default password in the code (“password”), I was redirected to the web interface shown above to turn on or off the built-in LED.
That’s all great. Let’s have one last small test. When the Raspberry Pi Pico W was first introduced in June 2022, Bluetooth support was not implemented, and we had to wait for the release of the Pico SDK 1.5 in February 2023 for this to work. Let’s try one of the Bluetooth samples on the new Pico 2W board.
1 2 3 |
cd ../../bt/hid_keyboard_demo make -j8 cp picow_bt_example_hid_keyboard_demo_background.uf2 /media/jaufranc/RP2350/ |
I could find an “HID Keyboard Demo…” in the list of devices, and I had no problem pairing with it.
That means both WiFi and Bluetooth will work at launch although I had to use the develop branch when I tested this, and the instructions are mostly the same as for its predecessor. I’m sure Raspberry Pi will soon release the Pico C/C++ SDK and MicroPython firmware for the new Pico 2 W board before users get their hands on it. You can purchase it from your preferred distributor for $7 plus taxes, shipping, etc…
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Micro- usb in 2024… Why?
Probably 100% compatibility with the previous model for drop-in replacement.
Fortunately, the many nice Chinese ‘clones’ will use a more reasonable connector and add the other nice features like a ws2812b that we’ve become useed to.
Ah nice, never got the point of these controllers without connectivity.
Can it do wifi and bt simultaneously?
Jean-Luc, I may have missed it, but is there a difference between the wireless modules in the pico-w (pico-1-w now?) and the Pico-2-w? You compared the 2w to the 2 and I’m more curious about the generational changes for the equivalent feature parts.
I did not know when I wrote this review. But based on the official announcement, the wireless module is based on the same Infineon CYW43439 modem used in the Raspberry Pi Pico W. Raspberry Pi now also sells the RM2 module found in the Pimoroni Pico Plus 2 W board mentioned at the beginning of the article.
Thank you!
What chip(s) does it use for WiFi and Bluetooth?
https://www.cnx-software.com/2024/11/25/7-raspberry-pi-pico-2-w-board-2-4-ghz-wifi-4-bluetooth-5-2-wireless-module/#comment-632644