Raspberry Pi Pico: Revolutionizing Microcontrollers
The Raspberry Pi Foundation has transformed single-board computing with their Raspberry Pi computers, and they are now set to revolutionize the microcontroller market with the new Raspberry Pi Pico. This microcontroller is incredibly affordable, priced at just $4, yet it boasts powerful features that make it ideal for embedded electronics projects. At the heart of the Pico is the RP2040 chip, designed by the Raspberry Pi Foundation itself.

Compact and Versatile Design
The Raspberry Pi Pico measures just 0.825" x 2", making it a compact yet versatile option for various projects. It features 20 pads on each side, suitable for breadboard or perfboard use, or direct soldering onto a PCB with castellated pads. The board provides 25 GPIO pins, three of which can be used as analog inputs. However, it is crucial to note that all GPIO pins operate at 3.3V logic and are not 5V tolerant.
Core Components and Features
At the core of the Pico is the RP2040 chip, which includes a dual-core Cortex M0+ processor running at 133MHz and 264KB of SRAM. The board also includes 2MB of QSPI flash storage and a built-in crystal for precise timing. Additional features include a 5V to 3.3V power supply converter, a single green LED on GP25, and a boot select button.

USB UF2 Bootloader
Programming the Pico is made easy with its 'permanent ROM' USB UF2 bootloader. By holding down the BOOTSEL button while connecting the Pico to a USB port, the device appears as a USB disk drive. Users can then simply drag and drop their firmware onto the drive, streamlining the process of updating and experimenting with new code.
Raspberry Pi Pico Technical Specifications
Category | Specification |
---|---|
Processor | Dual-core ARM Cortex-M0+ |
Clock Speed | Up to 133 MHz |
On-chip RAM | 264 KB |
Flash Memory | 2 MB onboard QSPI flash |
GPIO Pins | 26 multifunction GPIO pins |
Analog Inputs | 3 × 12-bit ADC channels |
Digital I/O | 30 GPIO pins, 3.3V logic (not 5V tolerant) |
PWM Channels | 16 |
UART | 2 × UART |
SPI | 2 × SPI controllers |
I2C | 2 × I2C controllers |
USB | USB 1.1 controller and PHY, with host and device support |
PIO State Machines | 8 (2 × PIO peripherals with 4 state machines each) |
Bootloader | USB UF2 bootloader |
Dimensions | 51.3 mm × 21 mm × 3.9 mm (2.0" × 0.8" × 0.2") |
Weight | 3.0 g (0.1 oz) |
Power Supply | 1.8V to 5.5V DC |
Operating Temperature | -20°C to +85°C (Pico and Pico H) |
Programming Languages | C/C++, MicroPython, CircuitPython |
Development Tools | GCC-based toolchain, Visual Studio Code integration |
Custom Peripherals | Supported via PIO state machines |
Debugging | SWD (Serial Wire Debug) |
Floating Point | No hardware FPU (floating-point unit) |
DSP Support | No DSP hardware support |
Power Consumption | Low-power sleep and dormant modes |
External Flash Support | Up to 16 MB via dedicated QSPI bus |
PLL | 2 on-chip PLLs for USB and core clocks |
DMA Controller | Included |
Interpolation | Interpolator and integer divider peripherals |
Package | 7×7 mm QFN-56 |
Software Support | Official MicroPython port, CircuitPython, Philhower Arduino core |
Documentation | Extensive documentation available from Raspberry Pi Foundation |
Recommended Usage | Suitable for IoT applications, embedded systems, learning electronics |
GPIO Voltage Levels | 3.3V logic (not 5V safe) |
LED Indicator | Single green LED on GP25 |
Button | Boot select button |
Crystal Oscillator | Included for precise timing |
USB Boot Mode | USB mass-storage boot mode with UF2 support |
Programming Method | Drag and drop firmware via USB |
Performance and Limitations
The RP2040 chip is quite powerful, offering close-to-M4 speeds for many tasks. However, as an M0 chip, it lacks a floating point unit and DSP hardware support, meaning floating point math operations will be slower than on an M4 chip. Despite this, the dual-core setup and other features make it suitable for a wide range of computational tasks.

Peripherals and Connectivity
The Raspberry Pi Pico includes a variety of peripherals: two I2C controllers, two SPI controllers, and two UARTs. These are multiplexed across the GPIO pins, allowing for flexible pin configurations. Additionally, the Pico features 16 PWM channels, providing versatile control over connected components.
PIO State Machines
A standout feature of the RP2040 chip is its Programmable I/O (PIO) state machines. These allow for the creation of custom hardware logic and data processing blocks that can run independently of the CPU. This capability is particularly useful for precise timing tasks, such as controlling NeoPixels or generating I2S audio streams.

Software and Programming Support
The Raspberry Pi Pico is supported by a robust software ecosystem. It offers great support for C/C++ and official ports for MicroPython and CircuitPython. The Philhower Arduino core is recommended for those using Arduino, as it supports a wide range of peripherals and has community-contributed board definitions. CircuitPython is particularly recommended for beginners due to its ease of use and comprehensive support for Raspberry Pi's hardware.
Conclusion
The Raspberry Pi Pico is a game-changer in the microcontroller market, combining affordability with powerful features and flexibility. Whether you are a hobbyist, educator, or developer, the Pico provides a versatile platform for a wide range of projects, from simple LED controllers to complex embedded systems. Its compact size, extensive GPIO options, and powerful RP2040 chip make it an ideal choice for anyone looking to explore the world of microcontrollers.