ARM-architecture microcontroller by the Raspberry Pi Foundation
RP2040 microcontroller
RP2040 die shot
A PhobGCC, an open-source motherboard replacement for the GameCube controller designed for competitive Super Smash Bros. Melee , powered by the RP2040
RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit [ 1] [ 2] [ 3] by Raspberry Pi Ltd . In January 2021, it was released as part of the Raspberry Pi Pico board.[ 1] Its successor is the RP2350 series.
Overview
Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd.[ 1] [ 2] The microcontroller is low cost, with the Raspberry Pi Pico being introduced at US$4 and the RP2040 itself costing US$1 . The microcontroller can be programmed in assembly , C , C++ , Swift ,[ 4] Free Pascal , Rust ,[ 5] Go ,[ 6] MicroPython , CircuitPython ,[ 1] [ 7] Ada ,[ 8] TypeScript [ 9] and Zig. [ 10] It is powerful enough to run TensorFlow Lite .[ 1]
At announcement time, four other manufacturers (Adafruit , Pimoroni , Arduino , SparkFun ) were at advanced stages of their product design, awaiting the widespread availability of chips to be put into production.[ 11]
Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages.[ 12]
Multiple stepping levels of the chip have been produced.[ 13]
Features
The RP2040 chip is 40 nm silicon in a 7 × 7 mm QFN -56EP surface-mount device (SMD) package manufactured by TSMC [ 14]
Key features:.[ 15]
133 MHz dual ARM Cortex-M0+ cores (ARMv6-M) (supports overclocking[ 3] )
Each core has an integer divider peripheral and two interpolators
264 KB SRAM in six independent banks (four 64 KB, two 4 KB)
No internal flash or EEPROM memory (after reset, the boot-loader loads firmware from either external flash memory or USB into internal SRAM)
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 (LDO) 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 (LS & FS) controller and PHY , host and device support, 1.5 Mbps (Low Speed) and 12 Mbps (Full Speed)
Two UART controllers
Two SPI controllers
One QSPI (quad SPI) controller (SSI), supports 1 / 2 / 4-bit SPI transfers, 1 chip select
Two I²C controllers
Eight PIO (programmable input–output) 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 RP2350 § Family comparison .
Boards
A number of manufacturers have announced their own boards using the RP2040. A selection of the growing number is here:
Board name
Manufacturer
Size (mm)
Header pins
Debug connection
Number of pads
USB connector
Other connectors
Flash size
GPIO pins
ADC pins
Buttons
Other features
Image
Pico [ 16]
Raspberry Pi Ltd
51×21
40+3
via headers
6
micro-USB
2 MB
26
3
BOOTSEL
Pico W[ 17]
Raspberry Pi Ltd
51×21
40+3
via headers
6
micro-USB
2 MB
26
3
BOOTSEL
Wi-Fi , Bluetooth
XIAO RP2040[ 18]
Seeed Studio
20×17.5×3.5
14
Reset Button/ Boot Button
USB Type-C interface
2 MB
BOOTSEL + RESET
Nano RP2040 Connect[ 19]
Arduino
45×18
30
via pads
5+4+2
micro-USB
16 MB
1
Wi-Fi, Bluetooth, 9-axis IMU , microphone
Tiny 2040[ 20]
Pimoroni
22.9×18.2×6
8+3
via headers
USB-C
8 MB
12
4
BOOTSEL + RESET
Keybow 2040[ 21]
Pimoroni
76x76x30
0 (USB only)
USB-C
2 MB
16 keys
PicoSystem[ 22]
Pimoroni
96.6×42.7×15.5
0 (self contained)
USB-C
16 MB
4 + joypad
Color 240×240 LCD , onboard battery
Feather RP2040[ 23]
Adafruit
51×23×7
28
via pins
USB-C
STEMMA QT, lipo battery
8 MB
21
4
BOOTSEL + RESET
Battery charger
ItsyBitsy RP2040[ 24]
Adafruit
36×18×4
33
via headers
micro-USB
4 MB
23
4
BOOTSEL + RESET
Metro RP2040[ 25]
Adafruit
71x53×13
32
SWD + 3 pin JST SH compatible
USB Type-C
DC jack for 6-12VDC / STEMMA QT / SWD / pico probe
16 MB
24
4
BOOTSEL + RESET
NeoPixel LED, Micro SD
QT Py RP2040[ 26]
Adafruit
22×18×6
14
Reset Button/ Boot Button
USB-C
STEMMA QT
8 MB
13
4
BOOTSEL + RESET
3.3vdc regulator, NeoPixel LED
Pro Micro – RP2040[ 27]
Sparkfun
36×18
24
4+2
USB-C
QWIIC
16 MB
20
4
BOOTSEL + RESET
Thing Plus RP2040[ 28]
Sparkfun
59×23
28
JTAG pins
USB-C
QWIIC, lipo battery
16 MB
18
4
BOOTSEL + RESET
Battery charger
MicroMod RP2040[ 29]
Sparkfun
22×22
0
edge connector
edge connector
16 MB
29
3
none
Müsli USB Pmod[ 30]
Lone Dynamics
45×20.32
12
SWD
USB Type-A female
12-pin male PMOD, SWD
256 KB
8
0
BOOTSEL
USB host, 5V boost converter
Werkzeug USB Multi-Tool[ 31]
Lone Dynamics
50×50
32
USB-C
12-pin female PMOD, USB Type-A female
1 MB
24
4
BOOTSEL
USB device/host, PMOD
RP2040[ 32]
WeAct Studio
53x21.52
40+4
via headers
USB-C
2 MB, 4 MB, 8 MB, 16 MB
26
4
BOOTSEL + RESET
RP2040-Zero[ 33]
Waveshare Electronics
23×18
23
USB-C
10-pad connector
2 MB
29
4
BOOTSEL + RESET
RGB LED (WS2812)
Pico2040
zeankun.dev
51x18
40+3 (2mm and 2.54mm variants are available)
SWD
4
micro-USB
16 MB, 32 MB, 64 MB, 128 MB
28
4
BOOTSEL + RESET
Bus Pirate 5
Where Labs, LLC
60x37
10+9
SWD
USB-C
16MB
W5100S-EVB-Pico[ 34]
WIZnet Co., Ltd.
75x21
40+3
via headers
Micro-USB
RJ45
2 MB
26
3
BOOTSEL + RESET
Ethernet
W5500-EVB-Pico[ 35]
WIZnet Co., Ltd.
75x21
40+3
via headers
Micro-USB
RJ45
2 MB
26
3
BOOTSEL + RESET
Ethernet
W6100-EVB-Pico[ 36]
WIZnet Co., Ltd.
75x21
40+3
via headers
Micro-USB
RJ45
2 MB
26
3
BOOTSEL + RESET
Ethernet
WizFi360-EVB-Pico[ 37]
WIZnet Co., Ltd.
75×21
40+3
via headers
Micro-USB
2 MB
26
3
BOOTSEL + RESET
Wi-Fi
0xCB-Helios[ 38]
0xCB
36×18
40+3
via headers
USB-C
16 MB
29
BOOTSEL + RESET
default off red power LED, blue user LED, level shifter to drive 5V components. ESD protection chip onboard
Picopad[ 39]
Pájeníčko s.r.o.
129x53
12
via headers
micro-USB
microSD, external connector
2 MB
6
BOOTSEL + RESET
on-off, Wi-Fi, micro SD card, external connector, IPS screen, speaker, battery
MUREX ANYESC[ 40]
MUREX Robotics
78×35
3
via headers
USB-C
edge connector
8 MB
3
0
BOOTSEL + RESET
commercial ESC connector, 3 user LEDs
RP2040-PICO30[ 41]
OLIMEX Ltd
51×21
40+3
via headers
USB-C
Optional UEXT (pUEXT)
2 MB
30
4
BOOTSEL + RESET
3.3V 2A (3A peak) DCDC, All 30 GPIOs available to the user, Optional status LED
RP2040-PICO30-16[ 41]
OLIMEX Ltd
51×21
40+3
via headers
USB-C
Optional UEXT (pUEXT)
16 MB
30
4
BOOTSEL + RESET
PicoUSB[ 42]
VoltMake[ 43]
45×12x4
0 (USB only)
Dual sided USB-A
2 MB
BOOTSEL + MODE
status LED
See also
Arduino – a popular microcontroller board family
ESP32 – a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth.
STM32 – a family of 32-bit microcontroller integrated circuits
Raspberry Pi – Raspberry Pi's series of small single board computers
Thumby (Game Console) – a thumb-sized micro-console powered by the RP2040
References
^ a b c d e "Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4" . January 21, 2021.
^ a b Adams, James (1 February 2021). "Raspberry Pi RP2040: Our Microcontroller for the Masses" . Arm Blueprint . Retrieved 20 February 2021 .
^ a b "RP2040 Datasheet" (PDF) . Raspberry Pi Ltd. Retrieved 20 February 2021 .
^ apple/swift-embedded-examples , Apple, 2024-06-14, retrieved 2024-06-14
^ "Rust on the RP series of microcontrollers" . GitHub . Retrieved 29 March 2023 .
^ "Raspberry Pi Pico" . TinyGo . Retrieved 2024-09-10 .
^ Rembor, Kattni. "Getting Started with Raspberry Pi Pico and CircuitPython" . Adafruit Learning System . Adafruit . Retrieved 17 February 2023 .
^ "Ada on the Raspberry Pi Pico" . Retrieved 10 July 2023 .
^ "RP2040 | DeviceScript" . microsoft.github.io . Retrieved 2023-11-28 .
^ microzig , Zig Embedded Group, 2024-12-08, retrieved 2024-12-08
^ "Tweet" . twitter.com . Retrieved 2021-02-18 .
^ Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico" . Hackaday . Retrieved 20 February 2021 .
^ "RP2040 datasheet" (PDF) . Raspberry Pi Ltd. 2 May 2024. p. 391. There are two hardware issues with the device controller, both of which have software workarounds on RP2040B0, RP2040B1, and are fixed in hardware on RP2040B2
^ "Raspberry Pi: Here's how we built our own chip to power the Pico" . ZDNET . Retrieved 2023-10-05 .
^ "RP2040 Datasheet" (PDF) . raspberrypi.com . Retrieved 2021-03-28 .
^ "Buy a Raspberry Pi Pico" .
^ "Pico W - Raspberry Pi | Rasppishop - Raspberry Pi Boards und Zubehör" . Pico W - Raspberry Pi | Rasppishop - Raspberry Pi Boards und Zubehör (in German). Retrieved 2023-09-04 .
^ "Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython" . www.seeedstudio.com . 2023-08-06. Retrieved 2023-09-04 .
^ "Welcome Raspberry Pi to the world of microcontrollers" . 20 January 2021.
^ "Tiny 2040 – Pimoroni" .
^ "Keybow 2040 – Pimoroni" .
^ "PicoSystem – Pimoroni" .
^ "Adafruit Feather RP2040" .
^ "Adafruit ItsyBitsy RP2040" .
^ "Adafruit Metro RP2040" .
^ "Adafruit QT Py RP2040" .
^ "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics" .
^ "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics" .
^ "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics" .
^ "Müsli USB Pmod™ Compatible Module" .
^ "Werkzeug USB Multi-Tool" .
^ Studio, WeAct (2023-08-17), RP2040 / WeAct Studio 微行工作室 出品 , retrieved 2023-09-04
^ "RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040" . www.waveshare.com . Retrieved 2023-09-04 .
^ "WIZnet W5100S-EVB-Pico" .
^ "WIZnet W5500-EVB-Pico" .
^ "WIZnet W6100-EVB-Pico" .
^ "WIZnet WizFi360-EVB-Pico" .
^ "0xCB Helios" . GitHub .
^ "Picopad" .
^ "ESC – MUREX Robotics Documentation" . docs.murexrobotics.com . Retrieved 2024-07-07 .
^ a b "RP2040-PICO30 - Open Source Hardware Board" . Olimex . Retrieved 2024-07-19 .
^ "PicoUSB: Raspberry Pi (Pico) RP2040 powered Bad USB (Rubber Ducky)" . PicoUSB . Retrieved 2024-09-29 .
^ "VoltMake - Electronics Engineering - PCB Design - Firmware - Software" . VoltMake . Retrieved 2024-09-29 .
External links
Wikimedia Commons has media related to
RP2040 .
Information related to RP2040