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.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/RP2040.jpg/170px-RP2040.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Raspberry-pi_rp2-b0_s1-9_mit20x.jpg/170px-Raspberry-pi_rp2-b0_s1-9_mit20x.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/PhobGCC_2.0.5.png/220px-PhobGCC_2.0.5.png)
Overview
editAnnounced 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, MicroPython, CircuitPython,[1][6] Ada[7] and TypeScript.[8] 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 in to production.[9]
Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages.[10]
Per the datasheet, there are multiple revisions of the chip:
"The full source for the RP2040 bootROM can be found at https://github.com/raspberrypi/pico-bootrom. This includes both version 1 and version 2 of the bootROM, which correspond to the B0 and B1 silicon revisions, respectively."
Features
editThe chip is 40 nm silicon in a 7 × 7 mm QFN-56 surface-mount device (SMD) package manufactured by TSMC.[11]
- Key features:[12]
- 133 MHz dual ARM Cortex-M0+ cores (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, supporting up to 16 MB of external flash memory
- DMA controller
- 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
- 133 MHz dual ARM Cortex-M0+ cores (supports overclocking[3])
- Peripherals:
Boards
editA 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[13] | Raspberry Pi Ltd | 51×21 | 40+3 | via headers | 6 | micro-USB | 2 MB | 26 | 3 | BOOTSEL | |||
Pico W[14] | Raspberry Pi Ltd | 51×21 | 40+3 | via headers | 6 | micro-USB | 2 MB | 26 | 3 | BOOTSEL | Wi-Fi, Bluetooth | ||
XIAO RP2040[15] | Seeed Studio | 20×17.5×3.5 | 14 | Reset Button/ Boot Button | USB Type-C interface | 2 MB | BOOTSEL + RESET | ||||||
Nano RP2040 Connect[16] | Arduino | 45×18 | 30 | via pads | 5+4+2 | micro-USB | 16 MB | 1 | Wi-Fi, Bluetooth, 9-axis IMU, microphone | ||||
Tiny 2040[17] | Pimoroni | 22.9×18.2×6 | 8+3 | via headers | USB-C | 8 MB | 12 | 4 | BOOTSEL + RESET | ||||
Keybow 2040[18] | Pimoroni | 0 (USB only) | USB-C | 2 MB | 16 keys | ||||||||
PicoSystem[19] | Pimoroni | 96.6×42.7×15.5 | 0 (self contained) | USB-C | 16 MB | 4 + joypad | Color 240×240 LCD, onboard battery | ||||||
Feather RP2040[20] | Adafruit | 51×23×7 | 28 | via pins | USB-C | STEMMA QT, lipo battery | 8 MB | 21 | 4 | BOOTSEL + RESET | Battery charger | ||
ItsyBitsy RP2040[21] | Adafruit | 36×18×4 | 33 | via headers | micro-USB | 4 MB | 23 | 4 | BOOTSEL + RESET | ||||
Metro RP2040[22] | Adafruit | 53×71×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[23] | 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[24] | Sparkfun | 36×18 | 24 | 4+2 | USB-C | QWIIC | 16 MB | 20 | 4 | BOOTSEL + RESET | |||
Thing Plus RP2040[25] | Sparkfun | 59×23 | 28 | JTAG pins | USB-C | QWIIC, lipo battery | 16 MB | 18 | 4 | BOOTSEL + RESET | Battery charger | ||
MicroMod RP2040[26] | Sparkfun | 22×22 | 0 | edge connector | edge connector | 16 MB | 29 | 3 | none | ||||
Müsli USB Pmod[27] | 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[28] | 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[29] | WeAct Studio | 53x21.52 | 40+4 | via headers | USB-C | 2 MB, 4 MB, 8 MB, 16 MB |
26 | 4 | BOOTSEL + RESET | ||||
RP2040-Zero[30] | Waveshare Electronics | 23×18 | 23 | USB-C | 10-pad connector | 2 MB | 29 | 4 | BOOTSEL + RESET | RGB LED (WS2812) | |||
Pico2040 | zeankun.dev | 18x51 | 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 | 10+9 | SWD | USB-C | 16MB | ||||||||
W5100S-EVB-Pico[31] | WIZnet Co., Ltd. | 75x21 | 40+3 | via headers | Micro-USB | RJ45 | 2 MB | 26 | 3 | BOOTSEL + RESET | Ethernet | ||
W5500-EVB-Pico[32] | WIZnet Co., Ltd. | 75x21 | 40+3 | via headers | Micro-USB | RJ45 | 2 MB | 26 | 3 | BOOTSEL + RESET | Ethernet | ||
W6100-EVB-Pico[33] | WIZnet Co., Ltd. | 75x21 | 40+3 | via headers | Micro-USB | RJ45 | 2 MB | 26 | 3 | BOOTSEL + RESET | Ethernet | ||
WizFi360-EVB-Pico[34] | WIZnet Co., Ltd. | 75×21 | 40+3 | via headers | Micro-USB | 2 MB | 26 | 3 | BOOTSEL + RESET | Wi-Fi | |||
0xCB-Helios[35] | 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[36] | 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[37] | 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[38] | 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[38] | OLIMEX Ltd | 51×21 | 40+3 | via headers | USB-C | Optional UEXT (pUEXT) | 16 MB | 30 | 4 | BOOTSEL + RESET |
See also
edit- 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
edit- ^ 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.
- ^ 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.
- ^ "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.
- ^ "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".
- ^ "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.