MakerLab
Raspberry PiRaspberry Pi Pico W

Raspberry Pi Pico W: The Wi-Fi Enabled Microcontroller for Makers

The Raspberry Pi Pico W brings wireless connectivity to the affordable and powerful RP2040 microcontroller, opening up a world of IoT projects.

Raspberry Pi Pico W

The Raspberry Pi Pico W is a low-cost, high-performance microcontroller board built around the Raspberry Pi's own RP2040 chip. It builds upon the success of the original Pico by integrating a 2.4GHz Wi-Fi and Bluetooth (BLE) module, making it an ideal choice for Internet of Things (IoT) applications. Unlike its larger Raspberry Pi siblings which run a full operating system, the Pico W is designed for embedded applications where a single program runs directly on the hardware.

At the heart of the Pico W is the RP2040 System-on-Chip (SoC), designed by Raspberry Pi in the UK. The RP2040 features a dual-core Arm Cortex-M0+ processor, capable of running at up to 133MHz. It boasts a generous amount of on-chip SRAM and supports a flexible memory map for external Flash memory. The chip also includes a range of peripherals such as SPI, I2C, UART, PWM, and ADC, all accessible through the Pico W's accessible pin headers.

Positioned as an entry-level microcontroller, the Pico W offers a compelling alternative to other development boards by combining powerful hardware with an accessible price point. The addition of wireless connectivity sets it apart from the original Pico and many other microcontrollers in its class. This makes it particularly attractive to hobbyists, students, and engineers looking to build connected projects without the complexity or cost of a full single-board computer.

The Pico W is well-suited for a wide variety of projects, from simple blinking LEDs and sensor readings to more complex applications like home automation controllers, data loggers, and remote monitoring systems. Its dual-core processor allows for tasks to be split, potentially running a network stack on one core while handling sensor input or control logic on the other. The onboard Wi-Fi enables easy integration with cloud services, web dashboards, and local networks.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCRaspberry Pi RP2040
ArchitectureDual-core Arm Cortex-M0+
Clock speedUp to 133MHz (default)
Flash / Storage2MB (onboard QSPI Flash)
RAM / SRAM264KB (onboard SRAM)
Operating voltage3.3V
Digital I/O pins26 (multifunction)
Analog / ADC3x 12-bit (4x if internal temperature sensor not used)
PWMAll GPIO pins support hardware PWM
Connectivity2.4GHz Wi-Fi (802.11n), Bluetooth 5.2 (BLE)
USBMicro USB 1.1 (device and host support)
Power input1.7V - 5.5V (via VSYS pin), 5V (via Micro USB)
Dimensions51mm x 21mm

Pinout & pin functions

PinFunction
3V33.3V power output
GNDGround
GP0GPIO, ADC0, UART0 TX, SPI0 TX, PWM0
GP1GPIO, ADC1, UART0 RX, SPI0 RX, PWM1
GP2GPIO, ADC2, UART1 TX, SPI0 SCK, PWM2
GP3GPIO, ADC3, UART1 RX, SPI0 CSn, PWM3
GP4GPIO, SPI1 TX, PWM4
GP5GPIO, SPI1 RX, PWM5
GP6GPIO, SPI1 SCK, PWM6
GP7GPIO, SPI1 CSn, PWM7
GP8GPIO, I2C0 SDA, PWM8
GP9GPIO, I2C0 SCL, PWM9
GP10GPIO, I2C1 SDA, PWM10
GP11GPIO, I2C1 SCL, PWM11
GP12GPIO, UART0 TX, PWM12
GP13GPIO, UART0 RX, PWM13
GP14GPIO, UART1 TX, PWM14
GP15GPIO, UART1 RX, PWM15
GP16GPIO, SPI0 TX, PWM0
GP17GPIO, SPI0 RX, PWM1
GP18GPIO, SPI0 SCK, PWM2
GP19GPIO, SPI0 CSn, PWM3
GP20GPIO, SPI1 TX, PWM4
GP21GPIO, SPI1 RX, PWM5
GP22GPIO, SPI1 SCK, PWM6
GP23GPIO, SPI1 CSn, PWM7
GP24GPIO, I2C0 SDA, PWM8
GP25GPIO, I2C0 SCL, PWM9
GP26GPIO, ADC0, PWM10
GP27GPIO, ADC1, PWM11
GP28GPIO, ADC2, PWM12
GP29GPIO, ADC3, PWM13
RUNReset pin (active low)
ADC_VREFAnalog reference voltage (typically 3.3V)
3V3_ENEnables the 3.3V regulator
3V3_OUTRegulated 3.3V power output
VSYSSystem voltage input (1.7V - 5.5V)

Wiring & circuit basics

The Raspberry Pi Pico W operates at a logic level of 3.3V. This means that when connecting external components, ensure they are compatible with 3.3V. Connecting 5V logic devices directly to the Pico W's GPIO pins can damage the microcontroller. If you need to interface with 5V devices, use a logic level shifter. Power can be supplied via the Micro USB port (typically 5V) or directly to the VSYS pin, which accepts a voltage range of 1.7V to 5.5V. The onboard 3.3V regulator can supply up to 500mA, but it's good practice to keep current draw below 200mA from the 3V3_OUT pin to ensure stability, especially when using wireless features.

When powering the board, the Micro USB port is the simplest method, providing both power and a data connection for programming. Alternatively, supplying power through the VSYS pin allows for battery operation or higher current applications. The RUN pin can be used to reset the RP2040; pulling it low will reset the chip. The 3V3_EN pin controls the onboard 3.3V regulator, useful for power management scenarios.

A basic LED circuit involves connecting a GPIO pin (e.g., GP15) through a current-limiting resistor (typically 220-330 ohms for a standard LED) to the LED's anode, with the LED's cathode connected to a Ground (GND) pin. This allows you to control the LED by setting the GPIO pin HIGH (3.3V) or LOW (0V). For an I2C sensor like a BME280, you would connect its VCC to Pico W's 3V3_OUT, its GND to Pico W's GND, its SDA pin to GP8 (I2C0 SDA), and its SCL pin to GP9 (I2C0 SCL).

Programming & getting started

The Raspberry Pi Pico W can be programmed using several popular environments. For beginners, MicroPython and CircuitPython offer an accessible Python-based experience. You can flash a UF2 file containing the MicroPython or CircuitPython firmware onto the Pico W by holding the BOOTSEL button while plugging it into your computer via USB; it will appear as a mass storage device. Arduino IDE support is also available through board manager installations, allowing C++ programming with familiar Arduino libraries. For more advanced users, the official Raspberry Pi SDK (based on C/C++) or PlatformIO offer powerful development workflows.

To upload your first program using MicroPython, connect the Pico W to your computer via USB, ensuring it's in bootloader mode (if not already programmed). Open your MicroPython IDE (like Thonny), connect to the Pico W's MicroPython interpreter, and then open, edit, and save your script (e.g., main.py) directly to the Pico W's filesystem. For Arduino IDE, select the correct board (Raspberry Pi Pico W), choose the appropriate COM port, and click the Upload button after writing your sketch.

Project ideas

Wi-Fi Weather StationMonitor local temperature, humidity, and pressure using an I2C sensor (e.g., BME280) and display readings on a web server hosted by the Pico W. Uses GPIO for sensor communication (I2C) and the onboard Wi-Fi for network access. Learns about embedded web servers and sensor interfacing.
Smart Home Sensor NodeCreate a battery-powered sensor node that reports data (e.g., motion detection via PIR sensor, light levels) to a home automation hub (like Home Assistant) over MQTT using Wi-Fi. Uses GPIO for sensors and Wi-Fi/BLE for communication. Teaches about low-power operation and IoT protocols.
Remote Controlled Robot CarBuild a simple robot car controlled via a web interface or a mobile app. The Pico W handles motor control (PWM) and receives commands over Wi-Fi. Uses GPIO for motor drivers and Wi-Fi for control. Introduces motor control and wireless command interfaces.
Bluetooth Low Energy (BLE) BeaconProgram the Pico W to act as a BLE beacon, broadcasting custom data. This can be used for proximity sensing or asset tracking. Uses the onboard Bluetooth module. Teaches about BLE fundamentals and broadcasting.
Networked LED Matrix DisplayControl a large addressable LED matrix (like WS2812B) to display scrolling text or simple graphics, with the content updated over Wi-Fi from a web interface or another device. Uses a high-speed GPIO for data transmission and Wi-Fi for updates. Explores real-time data streaming and large display control.
IoT Data LoggerCollect data from multiple sensors (analog and digital) and log it to an SD card or send it directly to a cloud service via Wi-Fi. Uses ADC, GPIO, SPI (for SD card), and Wi-Fi. Teaches about data acquisition, storage, and cloud integration.

Buying tips & gotchas

When purchasing a Raspberry Pi Pico W, ensure you are buying from reputable sources to avoid counterfeit or modified boards. While the RP2040 chip is robust, always double-check your wiring for correct voltage levels (3.3V) and polarity to prevent damage. Consider investing in a good quality Micro USB cable for reliable power and data transfer. Accessories like breadboards, jumper wires, basic sensors (temperature, light), and LEDs are excellent companions for starting your projects. For more advanced power management, explore external regulators or battery charging circuits if building portable devices.