I was expecting the next official Raspberry Pi board to be either an update of Raspberry Pico with WiFi and Bluetooth or with a machine learning accelerator and the new $6 Raspberry Pi Pico W delivers that wish through the addition of 2.4GHz WiFi 4.
Having said that, I was actually expecting a competitor to ESP8266 or ESP32 with a new Raspberry Pi wireless microcontroller, but it did quite happen that way as the Raspberry Pi Pico W features the same Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller found in Raspberry Pi Pico board coupled with an Infineon CYW43439 chip that’s supposed to support both 2.4 GHz WiFi 4 and Bluetooth LE 5.2. Bluetooth is not enabled right now, but may be at a later stage.
Raspberry Pi Pico W specifications:
- MCU – Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller @ 133 MHz with 264KB SRAM
- Storage – 2MB QSPI flash
- Connectivity – 802.11b/g/n WiFi 4 with ABRACON onboard antenna (Infineon CYW43439 connected over SPI)
- USB – 1x Micro USB 1.1 port used for power and programming
- 2x 20-pin 2.54mm pitch header and castellated holes with 26x GPIOs, 3x 12-bit ADC up to 500 Kbps, 2x UART, 2x I2C, 2x SPI, 16x PWM, 2 × programmable I/O (PIO) blocks with 8 state machines
- 3.3V I/O voltage
- Debugging – 3-pin Arm Serial Wire Debug (SWD) port
- Misc – BOOTSEL button, user LED (
- Power Supply – 5V via Micro USB port or 1.8 to 5.5V DC via VSYS pin
- Dimensions – 51 x 21mm
- Temperature Range – -20°C to 70°C
Apart from the addition of the WiFi module and antenna, that is basically the same design and they did not even add a reset button that would make programming quite easier… The user LED is now connected to the CYW43439 wireless chip but still controllable from the RP2040 SDK. But at least, it’s pin-to-pin compatible with the original Raspberry Pi Pico so existing add-ons or carrier boards should work without modifications.
Like the original Raspberry Pi Pic, the new board supports both C programming and MicroPython, but the Raspberry Pi Pico W comes preloaded with MicroPython. Programming is about the same, except for the additional WiFi API. For example, you can scan for available access points on the 2.4GHz band by typing:
wlan = network.WLAN(network.STA_IF)
The CAD files, including PCB layout and schematics, designed with Cadence Allegro, a STEP 3D model. and Fritzing design have been released on the Raspberry Pi Datasheets sub-domain.
At $6, the new Raspberry Pi Pico W will make other WiFi boards based on Raspberry Pi RP2040 or Raspberry Pi Pico such as the Wio RP2040 Mini or Pimoroni Pico Wireless pack pretty much obsolete, while other boards with extra features such as Arduino Nano RP2040 Connect may still survive.
Raspberry Pi Pico W is available now as an individual unit, or in 480-unit reels for automated assembly.
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.
According to the schematics the explicit BT pins of the CYW43439 are currently not connected. Also the Wifi connection seem to try to avoid to spend any of the existing Pico GPIOs brought out to pins for compatibility. So, it seems they are not done finding a better solution to connect these two chips (or get out an integrated solution as you suggested).
“7 × 7 mm QFN-56 package containing two square millimetres of 40 nm silicon”
for pico 2040 (without W), probably 40LP (9-track, typical ~1,1V) on ~5.3uW/MHz (dynamic power), came from 180ULL(66uW,~1.8V)/90LP(12,5uW,~1.2V) for Cortex-M0
“Performance efficiency: 2.33 CoreMark/MHz and 0.96/1.19/1.91 DMIPS/MHz”
Cortex-M0+ is different in specification:
180ULL 47.4µW/MHz, 90LP 9.37µW/MHz, 40LP 3.8µW/MHz ***
“Performance efficiency: 2.46 CoreMark/MHz* and 0.99/1.30/2.58 DMIPS/MHz**”
([*] setting definitions on ARM developer documentation for Cortex cores)
Thanks for this article.
What is the advantage comparing to an ESP32 ? (specs seems lower fo an higher price…)
What about the power consumption ?
I think ESP32 boards offer better value. The power consumption might be a little lower (Cortex-M0+), but I’m not sure it matters since there’s no support for batteries.
I agree, ESP32 is a far better solution. An ESP32 is basically an open CYW43439 — they just need to glue on the 2040 because the CYW43439 is closed source.
Does anyone know if either the cyw or the esp allows using the BLE radio for non Bluetooth communication, i.e. similar to an NRF24L01? Or do we have to use the supplied BLE stack due to lack of register documentation?
I think this is a hardware limitation, the NRF24L01 supports hardware modulation modes not supported on ESP/CYW. A similar question — why can’t you do Thread on the ESP32? Because it doesn’t have the right hardware for modulating the radio signal. Some TI chips support all of these modes, but the chips are $5+
Sorry I guess I didn’t formulate my question properly…
I didn’t mean to be RF compatible with NRF24 but using the BLE radio layer but not the BLE protocol stack, basically (ab)using the BLE chipset for proprietary comms.
can you recommend an esp32 board that seems better than pico-w? Thanks.
Lolin S2 Mini for example: https://www.cnx-software.com/2021/08/18/lolin-s2-mini-esp32-s2-wifi-iot-board-works-with-wemos-d1-mini-shields/
as a beginner in the iot, it’s hard to know the difference between esp device providers, google can only help that much. at a chip level, esp32-s2 seems the most expensive/capable model, esp32-c3 is with risc-v core, those are easy to find out, but who are the top players providing module/boards are not easy to google out.
LOLIN and AI Thinker are both major players. Also I think you’re thinking of ESP32-S3, the S2 is the single core version.
The modules (not the dev boards) come either from espressiv or AI thinker, the dev boards are available from different sources lolin being one of them.
Really? I have lot’s of esp modules branded with “doit” and more. Sure no idea who is the manufacture….
Like all of them?
Pi Pi Cow or TauCow
The Rpi foundation just seems to be doing random stuff hoping for a win.
Correct me if I’m wrong: Broadcom WICED → Cypress → Infineon AIROC. Is CYW43439 actually new, as in not developed during the Broadcom days?
I think your suspicion is right, this looks like a relative of the BCM43438 found on the RPi3. In fact the Linux driver is still under the old Broadcom wifi driver.