What Is a Raspberry Pico W and What Can You Use It For?
When Raspberry Pi launched the original Pico in January 2021, it was well received as a powerful; low-cost ($4) microcontroller development board. Powered by Raspberry Pi’s own RP2040 system-on-chip (SoC) based on two Arm Cortex-M0+ cores running at 133MHz; it features 2MB of onboard flash storage; 264kB of RAM, and 40 pins—including three analogue inputs and the unique Programmable I/O subsystem.
However, one glaring omission is the lack of onboard Wi-Fi. Launched at the end of June 2022, the $6 Pico W rectifies that with built-in wireless connectivity. Let’s take a closer look at the Pico W’s capabilities and what you can use it for.
Raspberry Pi Pico W Hardware
The Pico W board is the same size as the standard Pico. But the three SWD (Serial Wire Debug) pins have been moved in from the edge to make room for a silver square housing the Infineon CYW43439 wireless LAN chip.
On the specifications front, apart from the addition of onboard Wi-Fi; the Pico W is identical to the standard Pico model. So it should work with all existing Pico add-ons.
Processor | RP2040 with dual-core Arm Cortex-M0+ @ 133 MHz |
Memory | 264kB SRAM |
Storage | 2MB QSPI flash |
Wi-Fi | 2.4GHz 802.11n wireless LAN |
Input/Output | 40 x pins, with 26 x multifunctional GPIO (inc. 3 x analog inputs) |
Interfaces | 2 x I2C, 2 x SPI, 2 x UART, 1x SWD (Serial Wire Debug) |
Custom Peripherals Support | 8 × Programmable I/O (PIO) state machines |
Power / Data Connection | micro USB |
Dimensions | 21 mm × 51 mm |
As you can see, there’s plenty of support for standard digital communication protocols: I2C, SPI, and UART. In addition, as on the standard Pico, there’s a unique Programmable I/O subsystem which lets you customize the I/O interface. As well as enabling you to connect to non-standard peripherals; the independently running PIO blocks can be used to take the strain of the main processor for other applications—even rendering composite video.
The standard Pico and Pico W boards do not come with male pin headers; so you’ll need to solder on suitable 0.1″ headers. Alternatively, there are Pico H and Pico WH models available with headers already attached. In the image below, the Pico, Pico H, and Pico W models are shown from left to right.
Firmware for Pico W
All Pico models can be programmed using C/C++ or MicroPython (and also CircuitPython). The standard Pico C/C++ SDK includes wireless networking support. To use Pico W’s Wi-Fi functionality in MicroPython, you’ll need to install the special Pico W firmware UF2 file downloadable from the Raspberry Pi documentation. Holding the Pico’s BOOTSEL button as you connect it via its micro USB port to a computer, you then drag the UF2 file over to it. For more details, check out our getting started with MicroPython on Raspberry Pi Pico guide.
To use Pico W’s wireless capability to connect to your Wi-Fi network in MicroPython or C/C++, follow the instructions in Raspberry Pi’s connection guide (PDF). In MicroPython, the network library is used to connect to Wi-Fi.
Potential Pico W Projects
With your Pico W connected to Wi-Fi, you can interact with other network devices and send and receive data from the internet. So there’s great potential for all sorts of IoT projects—take a look at our Arduino IoT projects for some inspiration, or you could try adding wireless functionality or a web interface to one of these Raspberry Pi Pico projects.
Here are a few more project ideas to get you started…
Web Server: The Raspberry Pi Foundation’s step-by-step project guide shows you how to turn your Pico W into a web server to control digital outputs from a browser, and to receive sensor data.
Network Scanner: Richard Hayler’s network scanner (Twitter) uses an LED strip to indicate nearby networks detected, with color-coding for secure networks, hidden SSIDs, and insecure open networks.
Read More: What Is a Raspberry Pico W and What Can You Use It For? – MakeUseOf