Raspberry Pi Pico is a development board built around this powerful yet low-cost RP2040 microcontroller.
Like Raspberry Pi computers, Raspberry Pi Pico features a pin header with 40 connections, along with a new debug connection enabling you to analyse your programs directly from another computer (typically by connecting it directly to the GPIO pins on a Raspberry Pi).
Pico is an incredibly interesting new device from Raspberry Pi. It offers a wealth of connectivity for external hardware – and enough processing power to handle complex tasks. All this in a compact board which costs less than a cup of coffee. You can pick up a Pico from just $4 / £3.60, or free on the latest edition of HackSpace magazine.
Built with everyone from absolute beginners to professional engineers in mind, Raspberry Pi Pico represents the start of a new era for Raspberry Pi. We can’t wait to see what you all make with it.
Get to know Raspberry Pi Pico
Raspberry Pi Pico is a brand new, low-cost, yet highly flexible development board designed around a custom-built RP2040 microcontroller chip designed by Raspberry Pi.
Raspberry Pi Pico – ‘Pico’ for short – features a dual-core Cortex-M0+ processor (the most energy-efficient Arm processor available), 264kB of SRAM, 2MB of flash storage, USB 1.1 with device and host support, and a wide range of flexible I/O options.
The castellated pin headers ensure Pico is equally at home on a breadboard for experimentation as it is soldered onto a circuit board and driving a finished product. The high-performance processor cores coupled with RAM and storage give it impressive flexibility.
A real highlight comes in the form of Programmable Input/Output (PIO) capabilities: bridging the gap between software and hardware, Pico’s PIO allows developers to define new hardware features in software – expanding its capabilities beyond any fixed-function device.
Pico is set to prove itself not just an impressive new tool for Raspberry Pi users, but a must-have gadget for anyone investigating physical computing projects.
Microcontroller
RP2040 is a custom-built dual-core microcontroller, designed in-house at Raspberry Pi
USB
A micro USB port provides power and data, letting you communicate with and program Raspberry Pi Pico (by dragging and dropping a file)
Bootsel
Hold the BOOTSEL (boot select) button when powering up Pico to put it into USB Mass Storage Mode. From here, you can drag-and-drop programs, created with C or MicroPython, into the RPI-RP2 mounted drive. Pico runs the program as soon as it is switched on (without BOOTSEL held down)
Labelling
Silkscreen labelling on the top provides orientation for the 40 pins, while a full pinout is printed on the rear
Debugging
A Serial Wire Debug (SWD) header provides hardware debugging capabilities, letting you quickly track down problems in your programs
Pins
Raspberry Pi Pico’s pins are castellated, allowing pin headers to be fitted for breadboard use or the entire board to be soldered as a flat module
Raspberry Pi Pico specifications
RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
Dual-core ARM Cortex-M0+ processor, flexible clock running up to 133MHz
264kB of SRAM, and 2MB of on-board flash storage
Castellated module allows soldering direct to carrier boards
USB 1.1 Host and Device support
Low-power sleep and dormant modes
Drag & drop programming using mass storage over USB
26 multifunction GPIO pins
2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels
Accurate clock and timer on-chip
Temperature sensor
Fast floating-point libraries in ROM
8× Programmable IO (PIO) state machines for custom peripheral support
Say hello to RP2040
RP2040 is a low-cost microcontroller device, with the same focus on quality, cost, and simplicity that characterises the ‘big’ Raspberry Pi. Microcontrollers interact with the hardware of a board much like an application processor does in a larger device.
Application processors like the Broadcom BCM2711 used in Raspberry Pi 4 are designed to run multiple programs under an operating system, like Raspberry Pi OS. These programs access external hardware through interfaces provided by the operating system.
In contrast, microcontrollers like RP2040 interact directly with external hardware and typically run a single program from the moment you turn them on.
Just as Raspberry Pi is an accessible computer, RP2040 is an accessible microcontroller, containing almost everything makers need to embed it inside a product.
RP2040 is supported by both C/C++ and MicroPython cross-platform development environments, including easy access to runtime debugging. It has a built-in UF2 bootloader enabling programs to be loaded by drag-and-drop. The built-in USB can act as both device and host. Meanwhile, floating-point routines are baked into the chip for ultra-fast performance. It has two symmetric processor cores and high internal bandwidth, making it useful for signal processing and video applications. The chip has a relatively large amount of internal RAM but uses external flash storage, allowing you to choose how much memory you need.
Microcontrollers are an exciting new area for Raspberry Pi fans to explore. See the RP2040 data sheet for more information.
Behind the name 2040
The post-fix numeral on RP2040 comes from the following:
Number of processor cores (2)
Loosely which type of processor (M0+)
The amount of RAM, from the function floor(log2(RAM / 16kB)); in this case it’s 256kB
The amount of non-volatile storage, from the function floor(log2(non-volatile / 16kB)), or 0 if no on-board non-volatile storage