RP2040


RP2040 is a 32-bit dual-core ARM Cortex-M0+ microcontroller designed by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board. Its successor is the RP2350 series.

Overview

Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd. The microcontroller is low cost, with the Raspberry Pi Pico being introduced at and the RP2040 itself costing. The microcontroller can be programmed in assembly, C, C++, Forth, Swift, Free Pascal, Rust, Go, MicroPython, CircuitPython, PicoRuby, Ada, TypeScript and Zig. It is powerful enough to run TensorFlow Lite.
At announcement time, four other manufacturers were at advanced stages of their product design, awaiting the widespread availability of chips to be put into production.
Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages.
Multiple stepping levels of the chip have been produced.

Features

The RP2040 chip is a QFN-56EP surface-mount device package manufactured by TSMC using its 40 nm process.
  • Key features:
  • * Dual ARM Cortex-M0+ cores, Originally run at 133 MHz, but later certified at 200 MHz
  • ** Each core has an integer divider peripheral and two interpolators
  • * 264 KB SRAM in six independent banks
  • * No internal flash or EEPROM memory
  • * QSPI bus controller supports up to 16 MB of external flash memory
  • * DMA controller, 12 channel, 2 IRQ
  • * AHB crossbar, fully-connected
  • * On-chip programmable low-dropout regulator to generate core voltage
  • * Two on-chip PLLs to generate USB and core clocks
  • * 30 GPIO pins, of which four can optionally be used as analog inputs
  • Peripherals:
  • * One USB 1.1 controller and PHY, host and device support, 1.5 Mbps and 12 Mbps
  • * Two UART controllers
  • * Two SPI controllers
  • * One QSPI controller, supports 1 / 2 / 4-bit SPI transfers, 1 chip select
  • * Two I²C controllers
  • * Eight PIO state machines
  • * 16 PWM channels
  • * 4-channel 12-bit 500-ksps SAR ADC, extra channel is connected to internal temperature sensor
For comparison with the RP2350, see.

Boards

A number of manufacturers have announced their own boards using the RP2040. A selection of the growing number is here:
Board nameManufacturerSize Header pinsDebug connectionNumber of padsUSB connectorOther connectorsFlash sizeGPIO pinsADC pinsButtonsOther featuresImage
PicoRaspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSEL
Pico WRaspberry Pi Ltd51×2140+3via headers6micro-USB2 MB263BOOTSELWi-Fi, Bluetooth
XIAO RP2040Seeed Studio20×17.5×3.514Reset Button/ Boot ButtonUSB Type-C interface2 MBBOOTSEL + RESET
Nano RP2040 ConnectArduino45×1830via pads5+4+2micro-USB16 MB1Wi-Fi, Bluetooth, 9-axis IMU, microphone
Tiny 2040Pimoroni22.9×18.2×68+3via headersUSB-C8 MB124BOOTSEL + RESET
Keybow 2040Pimoroni76x76x300 USB-C2 MB16 keys
PicoSystemPimoroni96.6×42.7×15.50 USB-C16 MB4 + joypadColor 240×240 LCD, onboard battery
Feather RP2040Adafruit51×23×728via pinsUSB-CSTEMMA QT, lipo battery8 MB214BOOTSEL + RESETBattery charger
ItsyBitsy RP2040Adafruit36×18×433via headersmicro-USB4 MB234BOOTSEL + RESET
Metro RP2040Adafruit71x53×1332SWD + 3 pin JST SH compatibleUSB Type-CDC jack for 6-12VDC / STEMMA QT / SWD / pico probe16 MB244BOOTSEL + RESETNeoPixel LED, Micro SD
QT Py RP2040Adafruit22×18×614Reset Button/ Boot ButtonUSB-CSTEMMA QT8 MB134BOOTSEL + RESET3.3vdc regulator, NeoPixel LED
Pro Micro – RP2040Sparkfun36×18244+2USB-CQWIIC16 MB204BOOTSEL + RESET
Thing Plus RP2040Sparkfun59×2328JTAG pinsUSB-CQWIIC, lipo battery16 MB184BOOTSEL + RESETBattery charger
MicroMod RP2040Sparkfun22×220edge connectoredge connector16 MB293none
Müsli USB PmodLone Dynamics45×20.3212SWDUSB Type-A female12-pin male PMOD, SWD256 KB80BOOTSELUSB host, 5V boost converter
Werkzeug USB Multi-ToolLone Dynamics50×5032USB-C12-pin female PMOD, USB Type-A female1 MB244BOOTSELUSB device/host, PMOD
RP2040WeAct Studio53x21.5240+4via headersUSB-C2 MB,
4 MB,
8 MB,
16 MB
264BOOTSEL + RESET
RP2040-ZeroWaveshare Electronics23×1823USB-C10-pad connector2 MB294BOOTSEL + RESETRGB LED
Pico2040zeankun.dev51x1840+3 SWD4micro-USB16 MB,
32 MB,
64 MB,
128 MB
284BOOTSEL + RESET
Bus Pirate 5Where Labs, LLC60x3710+9SWDUSB-C16MB
W5100S-EVB-PicoWIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
W5500-EVB-PicoWIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
W6100-EVB-PicoWIZnet Co., Ltd.75x2140+3via headersMicro-USBRJ452 MB263BOOTSEL + RESETEthernet
WizFi360-EVB-PicoWIZnet Co., Ltd.75×2140+3via headersMicro-USB2 MB263BOOTSEL + RESETWi-Fi
0xCB-Helios0xCB36×1840+3via headersUSB-C16 MB29BOOTSEL + RESETdefault off red power LED, blue user LED, level shifter to drive 5V components. ESD protection chip onboard
PicopadPájeníčko s.r.o.129x5312via headersmicro-USBmicroSD, external connector2 MB6BOOTSEL + RESETon-off, Wi-Fi, micro SD card, external connector, IPS screen, speaker, battery
MUREX ANYESCMUREX Robotics78×353via headersUSB-Cedge connector8 MB30BOOTSEL + RESETcommercial ESC connector, 3 user LEDs
RP2040-PICO30OLIMEX Ltd51×2140+3via headersUSB-COptional UEXT 2 MB304BOOTSEL + RESET3.3V 2A DCDC, All 30 GPIOs available to the user, Optional status LED
RP2040-PICO30-16OLIMEX Ltd51×2140+3via headersUSB-COptional UEXT 16 MB304BOOTSEL + RESET3.3V 2A DCDC, All 30 GPIOs available to the user, Optional status LED
PicoUSBVoltMake45×12x40 Dual sided USB-A2 MBBOOTSEL + MODEstatus LED