Raspberry Pi Pico 2 W: The Wireless Microcontroller for Connected Projects
This compact and powerful board brings Wi-Fi connectivity to the popular Pico platform, making it ideal for IoT and wireless projects.

The Raspberry Pi Pico 2 W is an evolution of the highly successful Raspberry Pi Pico, designed to bring wireless capabilities to the affordable microcontroller market. At its heart is the RP2040 microcontroller, a dual-core ARM Cortex-M0+ processor designed by Raspberry Pi. This chip provides ample processing power for complex tasks while maintaining low power consumption. The 'W' in Pico 2 W signifies its integrated wireless connectivity, specifically 2.4GHz Wi-Fi, allowing for seamless integration into networks and the creation of internet-connected devices.
Building on the legacy of the original Pico, the Pico 2 W offers a familiar form factor and pinout, ensuring compatibility with existing Pico accessories and projects. It retains the same flexible power options, robust peripheral set, and ease of use that made the original Pico a favorite among makers, students, and professionals alike. The addition of Wi-Fi significantly broadens its application scope, enabling projects that can communicate with the internet, cloud services, or other wireless devices without the need for external modules.
This board is particularly well-suited for makers who want to create Internet of Things (IoT) devices, wireless sensor networks, or remote-controlled projects. Its dual-core architecture allows for dedicated tasks such as handling network communication while simultaneously running application logic. Students will find it an excellent platform for learning about embedded systems, wireless communication, and network programming. Embedded engineers can leverage its performance, low cost, and extensive peripherals for rapid prototyping and even production-ready designs where wireless connectivity is a requirement.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Raspberry Pi RP2040 |
| Architecture | Dual-core ARM Cortex-M0+ |
| Clock speed | Up to 133 MHz (default 125 MHz) |
| Flash / Storage | 2MB On-board QSPI Flash Memory |
| RAM / SRAM | 264KB On-chip SRAM |
| Operating voltage | 1.8V to 3.3V (internal logic) |
| Digital I/O pins | 26 Multifunction GPIO Pins |
| Analog / ADC | 3x 12-bit Analog-to-Digital Converter (ADC) inputs (shared with GPIO) |
| PWM | 16 PWM channels (shared with GPIO) |
| Connectivity | 2.4GHz IEEE 802.11 b/g/n Wi-Fi |
| USB | 1x Micro USB 1.1 Port (Device and Host support) |
| Power input | 1.8V to 5.5V (via VSYS pin or USB) |
| Dimensions | 51mm x 21mm (standard Pico form factor) |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 (OUT) | 3.3V power output, can supply up to 500mA |
| GND | Ground reference |
| GP0 | GPIO, ADC0, UART0 TX, SPI0 TX, PWM0 |
| GP1 | GPIO, ADC1, UART0 RX, SPI0 RX, PWM1 |
| GP2 | GPIO, ADC2, UART0 CTS, SPI0 RTS, PWM2 |
| GP3 | GPIO, ADC3, UART0 RTS, SPI0 CTS, PWM3 |
| GP4 | GPIO, I2C1 SDA, SPI1 TX, PWM4 |
| GP5 | GPIO, I2C1 SCL, SPI1 RX, PWM5 |
| GP6 | GPIO, I2C0 SDA, SPI1 SCK, PWM6 |
| GP7 | GPIO, I2C0 SCL, SPI1 CSn, PWM7 |
| GP8 | GPIO, UART1 TX, SPI0 TX, PWM8 |
| GP9 | GPIO, UART1 RX, SPI0 RX, PWM9 |
| GP10 | GPIO, UART1 CTS, SPI0 SCK, PWM10 |
| GP11 | GPIO, UART1 RTS, SPI0 CSn, PWM11 |
| GP12 | GPIO, I2C1 SDA, SPI1 TX, PWM12 |
| GP13 | GPIO, I2C1 SCL, SPI1 RX, PWM13 |
| GP14 | GPIO, I2C0 SDA, SPI1 SCK, PWM14 |
| GP15 | GPIO, I2C0 SCL, SPI1 CSn, PWM15 |
| GP16 | GPIO, PWM0 |
| GP17 | GPIO, PWM1 |
| GP18 | GPIO, PWM2 |
| GP19 | GPIO, PWM3 |
| GP20 | GPIO, PWM4 |
| GP21 | GPIO, PWM5 |
| GP22 | GPIO, PWM6 |
| GP23 | GPIO, PWM7 |
| GP24 | GPIO, PWM8 |
| GP25 | GPIO, PWM9 |
| GP26 | GPIO, ADC0, PWM10 |
| GP27 | GPIO, ADC1, PWM11 |
| GP28 | GPIO, ADC2, PWM12 |
| GP29 | GPIO, ADC3, 3.3V power input (if using VSYS > 3.3V) |
| RUN | System reset pin |
| VSYS | System power supply input (1.8V - 5.5V) |
| 3V3 | 3.3V power output |
| GND | Ground reference |
| VBUS | USB power input (5V) |
Wiring & circuit basics
Powering the Raspberry Pi Pico 2 W is straightforward. You can supply power via the Micro USB port, which provides a stable 5V. Alternatively, you can use the VSYS pin, which accepts a voltage range from 1.8V up to 5.5V. An onboard voltage regulator will then supply the necessary 3.3V to the RP2040 chip and other components. It is crucial to ensure that your power source can provide sufficient current, especially when using Wi-Fi, which can draw significant power spikes. A minimum of 500mA is recommended, but 1A or more is safer for continuous operation and wireless use.
The Raspberry Pi Pico 2 W operates at a logic level of 3.3V. This means that its GPIO pins output and expect signals within the 0V to 3.3V range. Connecting a 5V device directly to a Pico 2 W GPIO pin can damage the microcontroller. If you need to interface with 5V logic devices, you must use a level shifter. Conversely, if you are connecting a 3.3V device to a 5V system, you might need to ensure the 5V system can tolerate a 3.3V input signal, or use a level shifter.
For a simple LED project, connect the anode (longer leg) of an LED to a GPIO pin, for example, GP15. Connect the cathode (shorter leg) of the LED through a current-limiting resistor (typically 220-330 ohms for a standard LED) to a GND pin. When GP15 is set HIGH (3.3V), current flows through the LED and resistor, illuminating it. When GP15 is set LOW (0V), the LED turns off. For an I2C sensor, you would connect its SDA pin to a designated I2C SDA pin on the Pico 2 W (e.g., GP6 for I2C0) and its SCL pin to the corresponding I2C SCL pin (e.g., GP7 for I2C0). Remember to connect the sensor's VCC to the Pico's 3V3 pin and its GND to a GND pin.
Programming & getting started
The Raspberry Pi Pico 2 W can be programmed using a variety of popular development environments. For beginners, MicroPython and CircuitPython offer an accessible Python-based programming experience, allowing for rapid prototyping. The Arduino IDE is also well-supported via community-developed board packages, providing a familiar C++ environment for Arduino users. For more advanced applications, the official Raspberry Pi Pico SDK (based on C/C++) and the ESP-IDF framework (which also supports the RP2040) are available. To flash your first program (e.g., a MicroPython 'blink' script), connect the Pico 2 W to your computer via USB while holding down the BOOTSEL button. This will mount it as a mass storage device. Drag and drop the UF2 firmware file onto the mounted drive to flash it. For other IDEs, follow their specific instructions for board setup and uploading code.