RP2040

From Wikipedia, the free encyclopedia

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

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]

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 Mbit/s (Low Speed) and 12 Mbit/s (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:

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

See also

References

Related Articles

Wikiwand AI