RP2040

ARM-architecture microcontroller by the Raspberry Pi Foundation From Wikipedia, the free encyclopedia

RP2040 is a 32-bit dual-core ARM Cortex-M0+ microcontroller designed 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.[2]

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

Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd.[1][3] 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++, Forth,[4] Swift,[5] Free Pascal, Rust,[6] Go,[7] MicroPython, CircuitPython,[1][8] PicoRuby,[9] Ada,[10] TypeScript[11] and Zig.[12] 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.[13]

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

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

Features

The RP2040 chip is a 7-by-7-millimetre (0.28 in × 0.28 in) QFN-56EP surface-mount device (SMD) package manufactured by TSMC using its 40 nm process.[16]

  • Key features:[17]
    • Dual ARM Cortex-M0+ cores (ARMv6-M instruction set), Originally run at 133 MHz,[2] but later certified at 200 MHz[18]
      • 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:

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

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 (console) – a thumb-sized micro-console powered by the RP2040

References

Related Articles

Wikiwand AI