RP2040

From Wikipedia the free encyclopedia

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.

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]

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]