Engineering:RP2040
The RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit[1][2][3] by Raspberry Pi Ltd (was Raspberry Pi Trading Ltd). At the same time, it was released as part of the Raspberry Pi Pico board.[1]
Overview
Announced on 21st January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd (was Raspberry Pi Trading 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, Rust, C/C++ and MicroPython.[1] 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.[4] SparkFun has since released products based around the RP2040.[5]
Hackaday notes the benefits of the RP2040 as being from Raspberry Pi, having a good feature set, and being released in low-cost packages.[6]
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
The chip is 40nm silicon in a 7 × 7 mm QFN-56 surface mount device (SMD) package.
- Key features: [7]
- 133 MHz dual ARM Cortex-M0+ cores (can be overclocked to over 400 MHz[8])
- Each core has an integer divider peripheral, and two interpolators.
- 264 KB SRAM in six independent banks
- No internal flash or EEPROM memory (after reset, the boot-loader loads firmware from either external flash memory or USB bus 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
- 2 on-chip PLLs to generate USB and core clocks)
- 30 GPIO pins, of which 4 can optionally be used as analog inputs
- 133 MHz dual ARM Cortex-M0+ cores (can be overclocked to over 400 MHz[8])
- Peripherals:
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[9] | Raspberry Pi Ltd | 51×21 | 40+3 | via headers | 6 | micro-USB | 2 MB | 26 | 3 | BOOTSEL | |||
Pico W | Raspberry Pi Ltd | 51×21 | 40+3 | via headers | 6 | micro-USB | 2 MB | 26 | 3 | BOOTSEL | WiFi | ||
XIAO RP2040 | Seeedstudio | 20×17.5×3.5 | 30 | Reset Button/ Boot Button | USB Type-C interface | 2 MB | 1 Reset button, 1 BOOT button | ||||||
Nano RP2040 Connect[10] | Arduino | 45×18 | 30 | via pads | 5+4+2 | micro-USB | 16 MB | 1 | WiFi, Bluetooth, 9-axis IMU, microphone | ||||
Tiny 2040[11] | Pimoroni | 22.9×18.2×6 | 8+3 | via headers | USB-C | 8 MB | 12 | 4 | BOOTSEL + RESET | ||||
Keybow 2040[12] | Pimoroni | 0 (USB only) | USB-C | 16 keys | |||||||||
PicoSystem[13] | Pimoroni | 96.6×42.7×15.5 | 0 (self contained) | USB-C | 16 MB | 4 + joypad | Color 240×240 LCD, onboard battery | ||||||
Feather RP2040[14] | Adafruit | 50.8×22.8×7 | 28 | via pins | USB-C | STEMMA QT, lipo battery | 8 MB | 21 | 4 | BOOTSEL + RESET | Battery charger | ||
ItsyBitsy RP2040[15] | Adafruit | 36×18×4 | 33 | via headers | micro-USB | 4 MB | 23 | 4 | BOOTSEL + RESET | ||||
QtPy RP2040[16] | Adafruit | 20×17.5×3.5 | 30 | Reset Button/ Boot Button | USB-C | 8 MB | 1 RESET button, 1 BOOT button | 3.3vdc regulator, NeoPixel LED | |||||
Pro Micro - RP2040[17] | Sparkfun | 36×18 | 24 | 4+2 | USB-C | QWIIC | 16 MB | 20 | 4 | BOOTSEL + RESET | |||
Thing Plus RP2040[18] | Sparkfun | 59×23 | 28 | JTAG pins | USB-C | QWIIC, lipo battery | 16 MB | 18 | 4 | BOOTSEL + RESET | Battery charger | ||
MicroMod RP2040[19] | Sparkfun | 22×22 | 0 | edge connector | edge connector | 16 MB | 29 | 3 | none | ||||
Müsli USB Pmod[20] | 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[21] | Lone Dynamics | 50×50 | 32 | USB-C | 12-pin female PMOD, USB Type-A female | 1 MB | 24 | 4 | BOOTSEL | USB device/host, PMOD |
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 (Game Console) - A thumb-sized micro-console powered by the RP2040
References
- ↑ 1.0 1.1 1.2 1.3 1.4 "Meet Raspberry Silicon: Raspberry Pi Pico now on sale at $4". January 21, 2021. https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/.
- ↑ 2.0 2.1 Adams, James (1 February 2021). "Raspberry Pi RP2040: Our Microcontroller for the Masses". Arm Blueprint. https://www.arm.com/blogs/blueprint/raspberry-pi-rp2040.
- ↑ "RP2040 Datasheet". Raspberry Pi Ltd. https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf.
- ↑ "Tweet". https://twitter.com/EbenUpton/status/1362171557469179907. Retrieved 2021-02-18.
- ↑ "RP2040 - A microcontroller from Raspberry Pi - SparkFun Electronics". https://www.sparkfun.com/rp2040.
- ↑ Williams, Elliot (20 January 2021). "Raspberry Pi Enters Microcontroller Game With $4 Pico". Hackaday. https://hackaday.com/2021/01/20/raspberry-pi-enters-microcontroller-game-with-4-pico/.
- ↑ "RP2040 Datasheet" (in en). https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf.
- ↑ "Robin Grosset Takes a Raspberry Pi Pico's RP2040 to New Heights with an Overclock to 420MHz" (in en). https://www.hackster.io/news/robin-grosset-takes-a-raspberry-pi-pico-s-rp2040-to-new-heights-with-an-overclock-to-420mhz-c3677aa5daac.
- ↑ "Buy a Raspberry Pi Pico". https://www.raspberrypi.org/products/raspberry-pi-pico/.
- ↑ "Welcome Raspberry Pi to the world of microcontrollers". 20 January 2021. https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/.
- ↑ "Tiny 2040 – Pimoroni". https://shop.pimoroni.com/products/tiny-2040.
- ↑ "Keybow 2040 – Pimoroni". https://shop.pimoroni.com/products/keybow-2040.
- ↑ "PicoSystem – Pimoroni". https://shop.pimoroni.com/products/picosystem.
- ↑ "Adafruit Feather RP2040". https://www.adafruit.com/product/4884.
- ↑ "Adafruit ItsyBitsy RP2040". https://www.adafruit.com/product/4888.
- ↑ "Adafruit QT Py RP2040". https://www.adafruit.com/product/4900.
- ↑ "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics". https://www.sparkfun.com/products/17717.
- ↑ "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics". https://www.sparkfun.com/products/17745.
- ↑ "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics". https://www.sparkfun.com/products/17720.
- ↑ "Müsli USB Pmod™ Compatible Module". https://machdyne.com/product/musli-usb-pmod/.
- ↑ "Werkzeug USB Multi-Tool". https://machdyne.com/product/werkzeug-multi-tool/.
External links