my-server
← Wiki

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. Its successor is the RP2350 series.

Overview

Announced on 21 January 2021, the RP2040 is the first microcontroller designed by Raspberry Pi Ltd. The microcontroller is low cost, with the Raspberry Pi Pico being introduced at and the RP2040 itself costing . The microcontroller can be programmed in assembly, C, C++, Forth, Swift, Free Pascal, Rust, Go, MicroPython, CircuitPython, PicoRuby, Ada, TypeScript and Zig. It is powerful enough to run TensorFlow Lite.

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.

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

Multiple stepping levels of the chip have been produced.

Features

The RP2040 chip is a QFN-56EP surface-mount device (SMD) package manufactured by TSMC using its 40 nm process.

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

Boards

A number of manufacturers have announced their own boards using the RP2040. A selection of the growing number is here:

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

External links