Raspberry Pi Pico and Pico W
Edited: Feb. 2024
Introduction
​
When discussing embedded system prototyping, two popular platforms come to mind: Arduino and Raspberry Pi platforms. For a long time, Arduino stood out for microcontroller-based prototyping while Raspberry Pi was known in the single-board computer SBC space. Arduino was usually the recommended option for beginners because it's easy to set up when learning basic electronics and programming, while the Raspberry Pi was for more seasoned users and more advanced and high-processing projects.
​
In January 2021, the Raspberry Pi in the UK released the Raspberry Pi Pico board. This was a different prototyping board from what we knew the Pi boards to look like. Instead of a single-board computer running Linux, the Pico is a microcontroller board like the Arduino boards. The Raspberry Pi Pico is based on the RP2040 microcontroller chip, which was also developed by the Raspberry Pi Foundation. The Pi Pico goes for about $4.
​
On November 18, 2021, the Raspberry Pi Pico W was officially announced and launched. This variant of the Raspberry Pi Pico features onboard Wi-Fi connectivity, expanding its capabilities compared to the original Raspberry Pi Pico, which does not have built-in wireless networking capabilities. The Pico W goes for about $6.
RP2040 Microcontroller
The Pico Family
​
The Raspberry Pi Pico family currently consists of four boards; Raspberry Pi Pico (far left), Pico H (middle left), Pico W (middle right), and Pico WH (far right).
Raspberry Pi Pico and Pico H
​
Raspberry Pi Pico is a low-cost, high-performance microcontroller board with flexible digital interfaces. Raspberry Pi Pico H is just like the classic Pico but adds pre-soldered headers and a new 3-pin debug connector.
Raspberry Pi Pico
Raspberry Pi Pico H
Raspberry Pi Pico Pinout
Pi Pico Key Features​
​​
-
21mm x 51mm form factor.
-
RP2040 microcontroller chip designed by Raspberry Pi in the UK.
-
Dual-core Arm Cortex-M0+ processor, flexible clock running up to 133MHz.
-
264KB on-chip SRAM
-
2MB on-board QSPI Flash
-
26 multifunction GPIO pins, including 3 analog pins.
-
2 x UART, 2 x SPI controllers, 2x I2C controllers, 16 x PWM channels.
-
1 x USB 1.1 controller and PHY, with host and device support.
-
8 x Programmable I/O (PIO) state machines for custom peripheral support.
-
Supported input power 1.8-5.5V DC.
-
Operating temperature -20*C to +85*C.
-
Drag-and-drop programming using mass storage over USB.
-
Low-power sleep and dormant modes.
-
Accurate on-chip clock.
-
Temperature sensor.
-
Accelerated integer and floating-point libraries on-chip.
Raspberry Pi Pico W and Pico WH
Raspberry Pi Pico W adds on-board single-band 2.4GHz wireless interfaces (802.11n) using the Infineon CYW43439 while retaining the Pico form factor. The on-board 2.4GHz wireless interface has the following features:
​
-
Wireless (802.11n), single-band (2.4 GHz)
-
WPA3
-
Soft access point supporting up to four clients
-
Bluetooth 5.2
-
Support for Bluetooth LE Central and Peripheral roles
-
Support for Bluetooth Classic
-
​
The antenna is an onboard antenna licensed from ABRACON (formerly ProAnt). The wireless interface is connected via SPI to the RP2040 microcontroller.
Raspberry Pi Pico W
Raspberry Pi Pico WH
Raspberry Pi Pico W Pinout
Coding the Raspberry Pi Pico
​
The Pico and other third-party RP2040 boards can be programmed with a variety of programming languages, these include MicroPython, CircuitPython, C/C++, and Arduino language. There's even Piper Play, a block-based version of Python for the Pico.
MicroPython and C/C++ are the officially supported languages by the Pi Foundation, but CircuitPython by Adafruit, which has similar functionalities, has certain advantages such as built-in support for USB HID, which means that you can turn your Pico into a keyboard, mouse, or joystick that's recognized by a PC.
​
In our next module, we'll discuss in detail how to program the Raspberry Pi Pico with MicroPython.