Engineering:RP2040

From HandWiki
RP2040 microcontroller
RP2040 die

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
  • Peripherals:
    • 2 UARTs
    • 2 SPI controllers
    • 2 I²C controllers
    • 16 PWM channels
    • USB 1.1 controller and PHY, with host and device support
    • 8 programmed input–output (PIO) state machines

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 Raspberry pi pico oben (cropped).jpg
Pico W Raspberry Pi Ltd 51×21 40+3 via headers 6 micro-USB 2 MB 26 3 BOOTSEL WiFi PXL 20220703 104511558.PORTRAIT (cropped).jpg
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 18555 - Arduino Nano RP2040 Connect (cropped).jpg
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 SparkFun Pro Micro - RP2040 - 51412593812 (cropped).jpg
Thing Plus RP2040[18] Sparkfun 59×23 28 JTAG pins USB-C QWIIC, lipo battery 16 MB 18 4 BOOTSEL + RESET Battery charger 17745-SparkFun Thing Plus - RP2040-01a (cropped).jpg
MicroMod RP2040[19] Sparkfun 22×22 0 edge connector edge connector 16 MB 29 3 none 17720-SparkFun MicroMod RP2040 Processor-01A (cropped).jpg
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. 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. 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. 
  3. "RP2040 Datasheet". Raspberry Pi Ltd. https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf. 
  4. "Tweet". https://twitter.com/EbenUpton/status/1362171557469179907. Retrieved 2021-02-18. 
  5. "RP2040 - A microcontroller from Raspberry Pi - SparkFun Electronics". https://www.sparkfun.com/rp2040. 
  6. 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/. 
  7. "RP2040 Datasheet" (in en). https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf. 
  8. "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. 
  9. "Buy a Raspberry Pi Pico". https://www.raspberrypi.org/products/raspberry-pi-pico/. 
  10. "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/. 
  11. "Tiny 2040 – Pimoroni". https://shop.pimoroni.com/products/tiny-2040. 
  12. "Keybow 2040 – Pimoroni". https://shop.pimoroni.com/products/keybow-2040. 
  13. "PicoSystem – Pimoroni". https://shop.pimoroni.com/products/picosystem. 
  14. "Adafruit Feather RP2040". https://www.adafruit.com/product/4884. 
  15. "Adafruit ItsyBitsy RP2040". https://www.adafruit.com/product/4888. 
  16. "Adafruit QT Py RP2040". https://www.adafruit.com/product/4900. 
  17. "SparkFun Pro Micro - RP2040 - DEV-18288 - SparkFun Electronics". https://www.sparkfun.com/products/17717. 
  18. "SparkFun Thing Plus - RP2040 - DEV-17745 - SparkFun Electronics". https://www.sparkfun.com/products/17745. 
  19. "SparkFun MicroMod RP2040 Processor - DEV-17720 - SparkFun Electronics". https://www.sparkfun.com/products/17720. 
  20. "Müsli USB Pmod™ Compatible Module". https://machdyne.com/product/musli-usb-pmod/. 
  21. "Werkzeug USB Multi-Tool". https://machdyne.com/product/werkzeug-multi-tool/. 

External links