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.

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

Overview

edit

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] and TypeScript.[9] 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.[10]

Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages.[11]

Multiple stepping levels of the chip have been produced.[12]

Features

edit

The chip is 40 nm silicon in a 7 × 7 mm QFN-56EP surface-mount device (SMD) package manufactured by TSMC[13]

  • Key features:[14].
    • 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. (NOTE: RP2350 family has 16 and 4).
    • 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. (NOTE: RP2350 family has 12).
    • 16 PWM channels. (NOTE: RP2350 family has 24).
    • 4-channel 12-bit 500-ksps SAR ADC, extra channel is connected to internal temperature sensor. (NOTE: RP2350 family has 4 or 8 depending on package).

Boards

edit

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[15] Raspberry Pi Ltd 51×21 40+3 via headers 6 micro-USB 2 MB 26 3 BOOTSEL  
Pico W[16] Raspberry Pi Ltd 51×21 40+3 via headers 6 micro-USB 2 MB 26 3 BOOTSEL Wi-Fi, Bluetooth  
XIAO RP2040[17] Seeed Studio 20×17.5×3.5 14 Reset Button/ Boot Button USB Type-C interface 2 MB BOOTSEL + RESET
Nano RP2040 Connect[18] Arduino 45×18 30 via pads 5+4+2 micro-USB 16 MB 1 Wi-Fi, Bluetooth, 9-axis IMU, microphone  
Tiny 2040[19] Pimoroni 22.9×18.2×6 8+3 via headers USB-C 8 MB 12 4 BOOTSEL + RESET
Keybow 2040[20] Pimoroni 76x76x30 0 (USB only) USB-C 2 MB 16 keys
PicoSystem[21] Pimoroni 96.6×42.7×15.5 0 (self contained) USB-C 16 MB 4 + joypad Color 240×240 LCD, onboard battery
Feather RP2040[22] Adafruit 51×23×7 28 via pins USB-C STEMMA QT, lipo battery 8 MB 21 4 BOOTSEL + RESET Battery charger
ItsyBitsy RP2040[23] Adafruit 36×18×4 33 via headers micro-USB 4 MB 23 4 BOOTSEL + RESET
Metro RP2040[24] 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[25] 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[26] Sparkfun 36×18 24 4+2 USB-C QWIIC 16 MB 20 4 BOOTSEL + RESET  
Thing Plus RP2040[27] Sparkfun 59×23 28 JTAG pins USB-C QWIIC, lipo battery 16 MB 18 4 BOOTSEL + RESET Battery charger  
MicroMod RP2040[28] Sparkfun 22×22 0 edge connector edge connector 16 MB 29 3 none  
Müsli USB Pmod[29] 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[30] 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[31] WeAct Studio 53x21.52 40+4 via headers USB-C 2 MB,
4 MB,
8 MB,
16 MB
26 4 BOOTSEL + RESET
RP2040-Zero[32] 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[33] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet  
W5500-EVB-Pico[34] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet  
W6100-EVB-Pico[35] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet  
WizFi360-EVB-Pico[36] WIZnet Co., Ltd. 75×21 40+3 via headers Micro-USB 2 MB 26 3 BOOTSEL + RESET Wi-Fi  
0xCB-Helios[37] 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[38] 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[39] 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[40] 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[40] OLIMEX Ltd 51×21 40+3 via headers USB-C Optional UEXT (pUEXT) 16 MB 30 4 BOOTSEL + RESET
PicoUSB[41] VoltMake[42] 45×12x4 0 (USB only) Dual sided USB-A 2 MB BOOTSEL + MODE status LED  

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
  1. ^ a b c d e "Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4". January 21, 2021.
  2. ^ a b Adams, James (1 February 2021). "Raspberry Pi RP2040: Our Microcontroller for the Masses". Arm Blueprint. Retrieved 20 February 2021.
  3. ^ a b "RP2040 Datasheet" (PDF). Raspberry Pi Ltd. Retrieved 20 February 2021.
  4. ^ apple/swift-embedded-examples, Apple, 2024-06-14, retrieved 2024-06-14
  5. ^ "Rust on the RP series of microcontrollers". GitHub. Retrieved 29 March 2023.
  6. ^ "Raspberry Pi Pico". TinyGo. Retrieved 2024-09-10.
  7. ^ Rembor, Kattni. "Getting Started with Raspberry Pi Pico and CircuitPython". Adafruit Learning System. Adafruit. Retrieved 17 February 2023.
  8. ^ "Ada on the Raspberry Pi Pico". Retrieved 10 July 2023.
  9. ^ "RP2040 | DeviceScript". microsoft.github.io. Retrieved 2023-11-28.
  10. ^ "Tweet". twitter.com. Retrieved 2021-02-18.
  11. ^ Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico". Hackaday. Retrieved 20 February 2021.
  12. ^ "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
  13. ^ "Raspberry Pi: Here's how we built our own chip to power the Pico". ZDNET. Retrieved 2023-10-05.
  14. ^ "RP2040 Datasheet" (PDF). raspberrypi.com. Retrieved 2021-03-28.
  15. ^ "Buy a Raspberry Pi Pico".
  16. ^ "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.
  17. ^ "Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython". www.seeedstudio.com. 2023-08-06. Retrieved 2023-09-04.
  18. ^ "Welcome Raspberry Pi to the world of microcontrollers". 20 January 2021.
  19. ^ "Tiny 2040 – Pimoroni".
  20. ^ "Keybow 2040 – Pimoroni".
  21. ^ "PicoSystem – Pimoroni".
  22. ^ "Adafruit Feather RP2040".
  23. ^ "Adafruit ItsyBitsy RP2040".
  24. ^ "Adafruit Metro RP2040".
  25. ^ "Adafruit QT Py RP2040".
  26. ^ "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics".
  27. ^ "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics".
  28. ^ "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics".
  29. ^ "Müsli USB Pmod™ Compatible Module".
  30. ^ "Werkzeug USB Multi-Tool".
  31. ^ Studio, WeAct (2023-08-17), RP2040 / WeAct Studio 微行工作室 出品, retrieved 2023-09-04
  32. ^ "RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040". www.waveshare.com. Retrieved 2023-09-04.
  33. ^ "WIZnet W5100S-EVB-Pico".
  34. ^ "WIZnet W5500-EVB-Pico".
  35. ^ "WIZnet W6100-EVB-Pico".
  36. ^ "WIZnet WizFi360-EVB-Pico".
  37. ^ "0xCB Helios". GitHub.
  38. ^ "Picopad".
  39. ^ "ESC – MUREX Robotics Documentation". docs.murexrobotics.com. Retrieved 2024-07-07.
  40. ^ a b "RP2040-PICO30 - Open Source Hardware Board". Olimex. Retrieved 2024-07-19.
  41. ^ "PicoUSB: Raspberry Pi (Pico) RP2040 powered Bad USB (Rubber Ducky)". PicoUSB. Retrieved 2024-09-29.
  42. ^ "VoltMake - Electronics Engineering - PCB Design - Firmware - Software". VoltMake. Retrieved 2024-09-29.
edit