Skip to main content

We use cookies to understand how you use our site and improve your experience. See our Privacy Policy.

RP2040

Microcontroller

The RP2040 is a microcontroller from Raspberry Pi. View the full RP2040 datasheet below including key specifications, pinout.

Official RP2040 datasheet (PDF) — the source this page was extracted from.

Manufacturer

Raspberry Pi

Package

7 x 7 mm QFN-56

RP2040 Key Specifications

ParameterValue
ADC (Bit)12bit
Core Size32 Bit
CPU CoreARM Cortex-M0+
CPU Maximum Speed133MHz
Number of I/O30
Operating Temperature-20℃~+85℃ °C
Oscillator TypeBuilt-in+External
Program Memory TypeExternal
Supply Voltage1.8V~3.3V

RP2040 Overview

Part: Raspberry Pi RP2040

Type: Microcontroller

Description: The RP2040 is a dual ARM Cortex-M0+ microcontroller operating at up to 133 MHz, featuring 264kB on-chip SRAM, support for up to 16MB off-chip Flash, and a rich peripheral set including 30 GPIOs, 2x UART, 2x SPI, 2x I2C, 16x PWM, 8x PIO state machines, and USB 1.1.

Operating Conditions:

  • Supply voltage: 1.8–3.3 V
  • Operating temperature: null
  • Max clock frequency: 133 MHz

Absolute Maximum Ratings:

  • Max supply voltage: null
  • Max continuous current: null
  • Max junction/storage temperature: null

Key Specs:

  • CPU: Dual ARM Cortex-M0+ @ 133 MHz
  • On-chip SRAM: 264kB in six independent banks
  • Off-chip Flash memory support: Up to 16MB via dedicated QSPI bus
  • GPIO pins: 30 (four can be used as analogue inputs)
  • Communication Peripherals: 2 × UARTs, 2 × SPI controllers, 2 × I2C controllers
  • PWM channels: 16
  • PIO state machines: 8
  • USB: 1.1 controller and PHY, with host and device support

Features:

  • DMA controller
  • Fully connected AHB crossbar
  • Interpolator and integer divider peripherals
  • On-chip programmable LDO to generate core voltage
  • Two on-chip PLLs to generate USB and core clocks
  • UF2 bootloader in ROM
  • Polished MicroPython port

Applications:

  • Machine learning
  • Motor control
  • Agriculture
  • Audio

Package:

  • 7 × 7 mm QFN-56 package

RP2040 Features

CPU:

Dual ARM Cortex-M0+ @ 133 MHz

Memory:

264kB on-chip SRAM in six independent banks Support for up to 16MB of off-chip Flash memory via dedicated QSPI bus

Architecture:

DMA controller

Fully connected AHB crossbar Interpolator and integer divider peripherals On-chip programmable LDO to generate core voltage Two on-chip PLLs to generate USB and core clocks

Interfacing:

30 GPIO pins, four of which can be used as analogue inputs

Peripherals:

2 × UARTs 2 × SPI controllers 2 × I2C controllers 16 × PWM channels 8 × PIO state machines

1 × USB 1.1 controller and PHY, with host and device support

Package:

7 × 7 mm QFN-56 package

Product lifetime:

Raspberry Pi understands the value to customers of long term availability of product and therefore aims to continue supply for as long as practically possible. We expect RP2040 to remain in production until at least January 2041.

Compliance:

RP2040 is compliant to Moisture Sensitivity Level 1. RP2040 is compliant to the requirement of REACH Substances of Very High Concern (SVHC) that ECHA announced on 25 June 2020.

RP2040 is compliant to the requirement and standard of Controlled Environment-related Substance of RoHS directive (EU) 2011/65/EU and directive (EU) 2015/863.

Full details can be found in the RP2040 datasheet.

RP2040 Pin Configuration

RP2040 QFN-56 Pinout

PinNameTypeDescription
1IOVDDPI/O Supply Voltage
2GPIO0I/OGeneral Purpose I/O 0
3GPIO1I/OGeneral Purpose I/O 1
4GPIO2I/OGeneral Purpose I/O 2
5GPIO3I/OGeneral Purpose I/O 3
6GPIO4I/OGeneral Purpose I/O 4
7GPIO5I/OGeneral Purpose I/O 5
8GPIO6I/OGeneral Purpose I/O 6
9GPIO7I/OGeneral Purpose I/O 7
10IOVDDPI/O Supply Voltage
11GPIO8I/OGeneral Purpose I/O 8
12GPIO9I/OGeneral Purpose I/O 9
13GPIO10I/OGeneral Purpose I/O 10
14GPIO11I/OGeneral Purpose I/O 11
15GPIO12I/OGeneral Purpose I/O 12
16GPIO13I/OGeneral Purpose I/O 13
17GPIO14I/OGeneral Purpose I/O 14
18GPIO15I/OGeneral Purpose I/O 15
19TESTENITest Enable
20XOUTOCrystal Oscillator Output
21XINICrystal Oscillator Input
22DVDDPCore Supply Voltage
23DVDDPCore Supply Voltage
24SWCLKI/OSWD Clock
25SWDIOI/OSWD Data I/O
26RUNIRun Control
27GPIO16I/OGeneral Purpose I/O 16
28GPIO17I/OGeneral Purpose I/O 17
29GPIO18I/OGeneral Purpose I/O 18
30GPIO19I/OGeneral Purpose I/O 19
31GPIO20I/OGeneral Purpose I/O 20
32GPIO21I/OGeneral Purpose I/O 21
33IOVDDPI/O Supply Voltage
34GPIO22I/OGeneral Purpose I/O 22
35GPIO23I/OGeneral Purpose I/O 23
36GPIO24I/OGeneral Purpose I/O 24
37GPIO25I/OGeneral Purpose I/O 25
38GPIO26/ADC0I/OGeneral Purpose I/O 26 / ADC Channel 0
39GPIO27/ADC1I/OGeneral Purpose I/O 27 / ADC Channel 1
40GPIO28/ADC2I/OGeneral Purpose I/O 28 / ADC Channel 2
41GPIO29/ADC3I/OGeneral Purpose I/O 29 / ADC Channel 3
42IOVDDPI/O Supply Voltage
43VAUDPAudio Supply Voltage
44VREG_OUTPVoltage Regulator Output
45VREG_INPVoltage Regulator Input
46USB_DMI/OUSB Data Minus
47USB_DPI/OUSB Data Plus
48VBUSPUSB Bus Voltage
49DVDDPCore Supply Voltage
50GNDSGround
51GNDSGround
52GNDSGround
53GNDSGround
54GNDSGround
55GNDSGround
56GNDSGround

Notes

  • Power pins: IOVDD (pins 1, 10, 33, 42), DVDD (pins 22, 23, 49), VBUS (pin 48), VREG_IN (pin 45), VREG_OUT (pin 44), VAUD (pin 43)
  • Ground pins: GND (pins 50–56)
  • GPIO pins: GPIO0–GPIO29 (pins 2–9, 11–18, 27–41); GPIO26–GPIO29 also function as ADC channels 0–3
  • Crystal oscillator: XIN (pin 21), XOUT (pin 20)
  • Debug interface: SWCLK (pin 24), SWDIO (pin 25)
  • Control pins: RUN (pin 26), TESTEN (pin 19)
  • USB interface: USB_DP (pin 47), USB_DM (pin 46)

Other Microcontrollers (MCU)

All Microcontrollers (MCU) datasheetsAll Raspberry Pi datasheets (23)

Data on this page is extracted from publicly available manufacturer datasheets using automated tools including AI. It may contain errors or omissions. Always verify specifications against the official manufacturer datasheet before making design or purchasing decisions. See our Terms of Service. Rights holders can submit a takedown request.

Ask your AI agent about the RP2040

Connect SheetsData to Claude, Cursor, Codex or any MCP client and your agent reads this datasheet for you: pinout, limits, register maps and design checks, with the numbers taken from the PDF.

claude mcp add --transport http sheetsdata https://mcp.sheetsdata.com/mcp

Then ask: "Can the RP2040 run from my 12 V rail? Check it against the datasheet limits."

Create a free account $2 of usage every month, no card needed.