Also known as: RP2040
RP2040 is a low-cost, dual-core microcontroller designed in-house by Raspberry Pi, built on two ARM Cortex-M0+ cores.1
Overview
Its signature feature is PIO (programmable I/O): small state machines that can be programmed to bit-bang custom digital protocols at high speed, freeing the main cores from timing-critical work. The chip pairs 264 KB of on-chip SRAM with external QSPI flash and offers the usual GPIO, UART, SPI, I²C, PWM, and ADC peripherals. It is programmed in C/C++ via the Pico SDK, in MicroPython, or in Rust.
Notably, Raspberry Pi designed the RP2040 itself rather than licensing a ready-made microcontroller — the first silicon from the foundation — while still building on Arm’s licensed Cortex-M0+ core.
Key specifications
The headline numbers behind the chip:
| Spec | RP2040 |
|---|---|
| Cores | 2 × ARM Cortex-M0+ |
| Clock | Up to 133 MHz |
| SRAM | 264 KB on-chip |
| Flash | External QSPI (none on-chip) |
| Standout | 2 × PIO blocks (8 state machines) |
| GPIO | 30 pins |
Where it fits
The RP2040 first shipped on the Raspberry Pi Pico board, but it is sold as a bare chip and now appears in boards from many vendors and in the wireless Pico W. PIO makes it unusually good at driving LED strips, generating waveforms, or implementing odd interfaces — work that would otherwise need an STM32 or external logic. That same PIO flexibility makes it a handy timing-and-GPIO helper beside an SDR capture node, handling protocol chores the decode host would rather not.