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]

RP2040 microcontroller
RP2040 die
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++, Free Pascal, Rust,[4] Go, MicroPython, CircuitPython,[1][5] Ada[6] and TypeScript.[7] 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.[8]

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

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 edit

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

  • Key features:[11]
    • 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
  • Peripherals:
    • Two UARTs
    • Two SPI controllers
    • Two I²C controllers
    • 16 PWM channels
    • USB 1.1 controller and PHY, with host and device support
    • Eight programmable input–output (PIO) state machines
    • Four channel ADC with internal temperature sensor, 500 ksps, 12-bit conversion

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[12] Raspberry Pi Ltd 51×21 40+3 via headers 6 micro-USB 2 MB 26 3 BOOTSEL  
Pico W[13] Raspberry Pi Ltd 51×21 40+3 via headers 6 micro-USB 2 MB 26 3 BOOTSEL Wi-Fi, Bluetooth  
XIAO RP2040[14] Seeed Studio 20×17.5×3.5 14 Reset Button/ Boot Button USB Type-C interface 2 MB BOOTSEL + RESET
Nano RP2040 Connect[15] Arduino 45×18 30 via pads 5+4+2 micro-USB 16 MB 1 Wi-Fi, Bluetooth, 9-axis IMU, microphone  
Tiny 2040[16] Pimoroni 22.9×18.2×6 8+3 via headers USB-C 8 MB 12 4 BOOTSEL + RESET
Keybow 2040[17] Pimoroni 0 (USB only) USB-C 2 MB 16 keys
PicoSystem[18] Pimoroni 96.6×42.7×15.5 0 (self contained) USB-C 16 MB 4 + joypad Color 240×240 LCD, onboard battery
Feather RP2040[19] Adafruit 51×23×7 28 via pins USB-C STEMMA QT, lipo battery 8 MB 21 4 BOOTSEL + RESET Battery charger
ItsyBitsy RP2040[20] Adafruit 36×18×4 33 via headers micro-USB 4 MB 23 4 BOOTSEL + RESET
Metro RP2040[21] Adafruit 53 x 71 x 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[22] Adafruit 22x18x6 14 Reset Button/ Boot Button USB-C STEMMA QT 8 MB 13 4 BOOTSEL + RESET 3.3vdc regulator, NeoPixel LED
Pro Micro – RP2040[23] Sparkfun 36×18 24 4+2 USB-C QWIIC 16 MB 20 4 BOOTSEL + RESET  
Thing Plus RP2040[24] Sparkfun 59×23 28 JTAG pins USB-C QWIIC, lipo battery 16 MB 18 4 BOOTSEL + RESET Battery charger  
MicroMod RP2040[25] Sparkfun 22×22 0 edge connector edge connector 16 MB 29 3 none  
Müsli USB Pmod[26] 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[27] 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[28] WeAct Studio 53x21.52 40+4 via headers USB-C 2MB, 4MB, 8MB, 16MB 26 4 BOOTSEL + RESET
RP2040-Zero[29] Waveshare Electronics 23x18 23 USB-C 10-pad connector 2MB 29 4 BOOTSEL + RESET RGB LED

(WS2812)

Pico2040 zeankun.dev 18x51 40+3 (2mm and 2.54mm variants are available) SWD 4 micro-USB 16MB,

32MB, 64MB, 128MB

28 4 BOOTSEL

+ RESET

Bus Pirate 5 Where Labs, LLC 10+9 SWD USB-C 16MB
W5100S-EVB-Pico[30] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet
 
WIZnet W5100S-EVB-Pico
W5500-EVB-Pico[31] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet
 
W5500-EVB-Pico
W6100-EVB-Pico[32] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB RJ45 2 MB 26 3 BOOTSEL + RESET Ethernet
 
W6100-EVB-Pico
WizFi360-EVB-Pico[33] WIZnet Co., Ltd. 75x21 40+3 via headers Micro-USB 2 MB 26 3 BOOTSEL + RESET Wi-Fi
 
WizFi360-EVB-Pico
0xCB-Helios[34] 0xCB 36x18 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
 
0xCB-Helios
Picopad[35] 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

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. ^ "Rust on the RP series of microcontrollers". GitHub. Retrieved 29 March 2023.
  5. ^ Rembor, Kattni. "Getting Started with Raspberry Pi Pico and CircuitPython". Adafruit Learning System. Adafruit. Retrieved 17 February 2023.
  6. ^ "Ada on the Raspberry Pi Pico". Retrieved 10 July 2023.
  7. ^ "RP2040 | DeviceScript". microsoft.github.io. Retrieved 2023-11-28.
  8. ^ "Tweet". twitter.com. Retrieved 2021-02-18.
  9. ^ Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico". Hackaday. Retrieved 20 February 2021.
  10. ^ "Raspberry Pi: Here's how we built our own chip to power the Pico". ZDNET. Retrieved 2023-10-05.
  11. ^ "RP2040 Datasheet" (PDF). raspberrypi.com. Retrieved 2021-03-28.
  12. ^ "Buy a Raspberry Pi Pico".
  13. ^ "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.
  14. ^ "Seeed Studio XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython". www.seeedstudio.com. 2023-08-06. Retrieved 2023-09-04.
  15. ^ "Welcome Raspberry Pi to the world of microcontrollers". 20 January 2021.
  16. ^ "Tiny 2040 – Pimoroni".
  17. ^ "Keybow 2040 – Pimoroni".
  18. ^ "PicoSystem – Pimoroni".
  19. ^ "Adafruit Feather RP2040".
  20. ^ "Adafruit ItsyBitsy RP2040".
  21. ^ "Adafruit Metro RP2040".
  22. ^ "Adafruit QT Py RP2040".
  23. ^ "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics".
  24. ^ "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics".
  25. ^ "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics".
  26. ^ "Müsli USB Pmod™ Compatible Module".
  27. ^ "Werkzeug USB Multi-Tool".
  28. ^ Studio, WeAct (2023-08-17), RP2040 / WeAct Studio 微行工作室 出品, retrieved 2023-09-04
  29. ^ "RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040". www.waveshare.com. Retrieved 2023-09-04.
  30. ^ "WIZnet W5100S-EVB-Pico".
  31. ^ "WIZnet W5500-EVB-Pico".
  32. ^ "WIZnet W6100-EVB-Pico".
  33. ^ "WIZnet WizFi360-EVB-Pico".
  34. ^ "0xCB Helios".
  35. ^ "Picopad".

External links edit