Skip to the content
PCBKitNew board
RP2040 on a board, in 3D

RP2040

Raspberry Pi

12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHS

Extended
DatasheetJLCPCBLCSCraspberry-pi/RP2040
Category
Microcontrollers (MCU, MPU, SOC)
Package
LQFN-56(7x7)
Pins
57

Overview

The RP2040 is a microcontroller made by Raspberry Pi in a LQFN-56(7x7) package with 57 pins. 12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHS.

PCBKit's library has its KiCad symbol (MCU_RaspberryPi:RP2040, from KiCad's library) and its footprint (Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm, from KiCad's library), ready for a KiCad board. 57,971 are in stock at JLCPCB (part C2040). 1,841 open-source boards in 1,418 repositories on GitHub use it.

Symbol

IOVDD1GPIO02GPIO13GPIO24GPIO35GPIO46GPIO57GPIO68GPIO79GPIO811GPIO912GPIO1013GPIO1114GPIO1215GPIO1316GPIO1417GPIO1518TESTEN19XIN20XOUT21DVDD23SWCLK24SWDIO25RUN26GPIO1627GPIO1728GPIO1829GPIO1930GPIO2031GPIO2132GPIO2234GPIO2335GPIO2436GPIO2537GPIO26/ADC038GPIO27/ADC139GPIO28/ADC240GPIO29/ADC341ADC_AVDD43VREG_VIN44VREG_VOUT45USB_DM46USB_DP47USB_VDD48QSPI_SD351QSPI_SCLK52QSPI_SD053QSPI_SD254QSPI_SD155QSPI_SS56GND57
MCU_RaspberryPi:RP2040From KiCad's library

Footprint

57
Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmFrom KiCad's library

From the datasheet

11
Supply, least
1.62 V · IOVDD, recommended operating min · p. 635
Supply, most
3.63 V · IOVDD, recommended operating max · p. 635
Supply, least
990 mV · DVDD, recommended operating min · p. 635
Supply, most
1.21 V · DVDD, recommended operating max · p. 635
Supply, least
3.135 V · USB_VDD, recommended operating min · p. 636
Supply, absolute maximum
3.63 V · IOVDD, absolute max · p. 632
Takes asleep
180 µA · DVDD, Dormant typical average · p. 636
Takes asleep
390 µA · DVDD, Sleep typical average · p. 637
Supply, least
1.63 V · VREG_VIN, minimum regulator input supply · p. 188
Takes working
35.7 mA · sum of DVDD and IOVDD typical average currents, Popcorn media player at 48 MHz · p. 636
Takes at most
52.1 mA · sum of DVDD and IOVDD max average currents, Popcorn media player at 48 MHz · p. 636

What it is and has

23
Processor
Dual ARM Cortex-M0+ @ 133MHz · p. 10
SRAM
264kB in six independent banks · p. 10
External Flash support
Up to 16MB via dedicated QSPI bus · p. 10
DMA
DMA controller · p. 10
Bus fabric
Fully-connected AHB crossbar · p. 10
Arithmetic peripherals
Interpolator and integer divider · p. 10
Core regulator
On-chip programmable LDO · p. 10
PLL
2 · p. 10
GPIO
30 pins, 4 usable as analogue inputs · p. 10
UART
2 · p. 10
SPI
2 controllers · p. 10
I2C
2 controllers · p. 10
PWM
16 channels · p. 10
USB
USB 1.1 controller and PHY with host and device support · p. 10
PIO
8 state machines · p. 10
ADC resolution
12 bits · p. 634
I2C modes
Master or Slave; default Master · p. 461
I2C speed modes
Standard mode, Fast mode, Fast mode plus · p. 461
I2C addressing
10-bit addressing in Master mode · p. 461
I2C transmit buffer
16 elements per controller · p. 461
I2C receive buffer
16 elements per controller · p. 461
I2C DMA
Supported · p. 461
I2C interrupts
Supported · p. 461

Specifications

87
ParameterConditionsAs printedPage
input supply voltage VVREG_VINmin 1.63 · max 3.63 V188
output voltage variation ΔVVREG_VOUTmin -3 · max 3 % of selected output voltage188
output current IMAXmax 100 mA188
current limit ILIMITmin 150 · typ 350 · max 450 mA188
ROK assertion threshold ROKTH.ASSERTmin 87 · typ 90 · max 93 % of selected output voltage188
ROK deassertion threshold ROKTH.DEASSERTmin 84 · typ 87 · max 90 % of selected output voltage188
power-up time tPOWER-ONEN = 1, load current = 0mA, VREG_VIN ramps up in 100us; varies with load current and capacitance on VREG_VOUTtyp 275 · max 350 us188
I/O Supply Voltage IOVDDmin -0.5 · max 3.63 V632
Voltage at IO VPINMaximum: IOVDD + 0.5 Vmin -0.5 V632
Human Body Model HBMCompliant with JEDEC specification JS-001-2012 (April 2012)max 2 kV632
Human Body Model Digital (FT) pins only HBMDigital (FT) pins only; compliant with JEDEC specification JS-001-2012 (April 2012)max 4 kV632
Charged Device Model CDMCompliant with JESD22-C101E (December 2009)max 500 V632
Case Temperature TCmin -20 · max 85 °C632
Pin Input Leakage Current IINmax 1 uA632
Input Voltage High @ IOVDD=2.5V VIHIOVDD=2.5V; maximum: IOVDD + 0.3min 1.7 V632
Input Voltage High @ IOVDD=3.3V VIHIOVDD=3.3V; maximum: IOVDD + 0.3min 2 V632
Input Voltage Low @ IOVDD=1.8V VILIOVDD=1.8V; maximum: 0.35 * IOVDDmin -0.3 V632
Input Voltage Low @ IOVDD=2.5V VILIOVDD=2.5Vmin -0.3 · max 0.7 V633
Input Voltage Low @ IOVDD=3.3V VILIOVDD=3.3Vmin -0.3 · max 0.8 V633
Input Hysteresis Voltage @ IOVDD=2.5V VHYSIOVDD=2.5V; Schmitt Trigger enabledmin 0.2 V633
Input Hysteresis Voltage @ IOVDD=3.3V VHYSIOVDD=3.3V; Schmitt Trigger enabledmin 0.2 V633
Output Voltage High @ IOVDD=1.8V VOHIOVDD=1.8V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 1.24 V633
Output Voltage High @ IOVDD=2.5V VOHIOVDD=2.5V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 1.78 V633
Output Voltage High @ IOVDD=3.3V VOHIOVDD=3.3V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 2.62 V633
Output Voltage Low @ IOVDD=1.8V VOLIOVDD=1.8V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.3 V633
Output Voltage Low @ IOVDD=2.5V VOLIOVDD=2.5V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.4 V633
Output Voltage Low @ IOVDD=3.3V VOLIOVDD=3.3V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.5 V633
Pull-Up Resistance RPUmin 50 · max 80 kΩ633
Pull-Down Resistance RPDmin 50 · max 80 kΩ633
Maximum Total IOVDD current IIOVDD_MAXSum of all current being sourced by GPIO and QSPI pinsmax 50 mA633
Maximum Total VSS current due to IO (IOVSS) IIOVSS_MAXSum of all current being sunk into GPIO and QSPI pinsmax 50 mA633
Single Ended Input Voltage High VIHSEmin 2 V634
Single Ended Input Voltage Low VILSEmax 0.8 V634
Differential Input Voltage High VIHDIFFmin 0.2 V634
Differential Input Voltage Low VILDIFFmax -0.2 V634
Output Voltage High VOHMaximum: USB_VDDmin 2.8 V634
Output Voltage Low VOLmin 0 · max 0.3 V634
Pull-Up Resistance - RPU2 RPU2min 0.873 · max 1.548 kΩ634
Pull-Up Resistance - RPU1&2 RPU1&2min 1.398 · max 3.063 kΩ634
Pull-Down Resistance RPDmin 14.25 · max 15.75 kΩ634
ADC Input Voltage Range VPIN_ADCMaximum: ADC_AVDDmin 0 V634
Effective Number of Bits ENOBSimulatedmin 9 bits634
Resolved Bitsmax 12 bits634
ADC Input Impedance RIN_ADCmin 100 kΩ634
Input Voltage Low VILXIN only. XOUT floating; maximum: 0.35*IOVDDmin 0 V634
IOVDDDigital IO; typical: 1.8 / 3.3 V; if IOVDD <2.5V, adjust GPIO VOLTAGE_SELECT registersmin 1.62 · max 3.63 V635
DVDDDigital coremin 0.99 · typ 1.1 · max 1.21 V635
VREG_VINVoltage regulator; typical: 1.8 / 3.3 Vmin 1.62 · max 3.63 V635
USB_VDDUSB PHYmin 3.135 · typ 3.3 · max 3.63 V636
ADC_AVDDADC; performance compromised below 2.97Vmin 1.62 · typ 3.3 · max 3.63 V636
DVDD currentPopcorn; 48MHz; typical and maximum average currenttyp 10.9 · max 16.6 mA636
IOVDD currentPopcorn; 48MHz; typical and maximum average currenttyp 24.8 · max 35.5 mA636
DVDD currentBOOTSEL mode - Active; typical and maximum average currenttyp 9.4 · max 14.7 mA636
IOVDD currentBOOTSEL mode - Active; typical and maximum average currenttyp 1.2 · max 4.3 mA636
USB_VDD currentBOOTSEL mode - Active; typical and maximum average currenttyp 1.4 · max 2 mA636
DVDD currentBOOTSEL mode - Idle; typical and maximum average currenttyp 9 · max 14.3 mA636
IOVDD currentBOOTSEL mode - Idle; typical and maximum average currenttyp 1.2 · max 4.3 mA636
USB_VDD currentBOOTSEL mode - Idle; typical and maximum average currenttyp 0.2 · max 0.6 mA636
DVDD currentDormant; typical and maximum average currenttyp 0.18 · max 4.2 mA636
DVDD currentSleep; typical and maximum average currenttyp 0.39 · max 4.5 mA637
power-up time tPOWER-ONEN = 1, load current = 0mA, VREG_VIN ramps up in 100us; values vary with load current and capacitance on VREG_VOUTtyp 275 · max 350 us188
Human Body Model HBMDigital (FT) pins only; compliant with JEDEC specification JS-001-2012 (April 2012)max 4 kV632
Input Voltage High VIHIOVDD=2.5V; maximum: IOVDD + 0.3min 1.7 V632
Input Voltage High VIHIOVDD=3.3V; maximum: IOVDD + 0.3min 2 V632
Input Voltage Low VILIOVDD=1.8V; maximum: 0.35 * IOVDDmin -0.3 V632
Input Voltage Low VILIOVDD=2.5Vmin -0.3 · max 0.7 V633
Input Voltage Low VILIOVDD=3.3Vmin -0.3 · max 0.8 V633
Input Hysteresis Voltage VHYSIOVDD=2.5V; Schmitt Trigger enabledmin 0.2 V633
Input Hysteresis Voltage VHYSIOVDD=3.3V; Schmitt Trigger enabledmin 0.2 V633
Output Voltage High VOHIOVDD=1.8V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 1.24 V633
Output Voltage High VOHIOVDD=2.5V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 1.78 V633
Output Voltage High VOHIOVDD=3.3V; IOH = 2, 4, 8 or 12mA depending on setting; maximum: IOVDDmin 2.62 V633
Output Voltage Low VOLIOVDD=1.8V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.3 V633
Output Voltage Low VOLIOVDD=2.5V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.4 V633
Output Voltage Low VOLIOVDD=3.3V; IOL = 2, 4, 8 or 12mA depending on settingmin 0 · max 0.5 V633
USB_VDD USB_VDDSupplies USB PHYmin 3.135 · typ 3.3 · max 3.63 V636
ADC_AVDD ADC_AVDDSupplies ADC; ADC performance will be compromised at voltages below 2.97Vmin 1.62 · typ 3.3 · max 3.63 V636
Average DVDD CurrentPopcorn; system clock frequency 48MHztyp 10.9 · max 16.6 mA636
Average IOVDD CurrentPopcorn; system clock frequency 48MHztyp 24.8 · max 35.5 mA636
Average DVDD CurrentBOOTSEL mode - Activetyp 9.4 · max 14.7 mA636
Average IOVDD CurrentBOOTSEL mode - Activetyp 1.2 · max 4.3 mA636
Average USB_VDD CurrentBOOTSEL mode - Activetyp 1.4 · max 2 mA636
Average DVDD CurrentBOOTSEL mode - Idletyp 9 · max 14.3 mA636
Average IOVDD CurrentBOOTSEL mode - Idletyp 1.2 · max 4.3 mA636
Average USB_VDD CurrentBOOTSEL mode - Idletyp 0.2 · max 0.6 mA636
Average DVDD CurrentDormanttyp 0.18 · max 4.2 mA636
Average DVDD CurrentSleeptyp 0.39 · max 4.5 mA637

Parameters

14
ADC (Bit)
12bit
CPU Core
ARM Cortex-M0+
CPU Maximum Speed
133MHz
Core Size
32 Bit
Current - Supply
35.7mA
Current - Supply(Max)
52.1mA
Number of I/O
30
Operating Temperature
-20℃~+85℃
Oscillator Type
Built-in+External
Program Memory Type
External
RAM Size
264KB
Standby Current
180uA
Voltage - Supply
990mV~3.63V
Voltage - Supply(Absolute Max)
3.63V

Order codes

3

Pinout

57
The pins of the RP2040
PinNameType
1IOVDDPower in
2GPIO0Input/output
3GPIO1Input/output
4GPIO2Input/output
5GPIO3Input/output
6GPIO4Input/output
7GPIO5Input/output
8GPIO6Input/output
9GPIO7Input/output
10IOVDDPassive
11GPIO8Input/output
12GPIO9Input/output
13GPIO10Input/output
14GPIO11Input/output
15GPIO12Input/output
16GPIO13Input/output
17GPIO14Input/output
18GPIO15Input/output
19TESTENInput
20XINInput
21XOUTOutput
22IOVDDPassive
23DVDDPower in
24SWCLKInput
25SWDIOInput/output
26RUNInput
27GPIO16Input/output
28GPIO17Input/output
29GPIO18Input/output
30GPIO19Input/output
31GPIO20Input/output
32GPIO21Input/output
33IOVDDPassive
34GPIO22Input/output
35GPIO23Input/output
36GPIO24Input/output
37GPIO25Input/output
38GPIO26/ADC0Input/output
39GPIO27/ADC1Input/output
40GPIO28/ADC2Input/output
41GPIO29/ADC3Input/output
42IOVDDPassive
43ADC_AVDDPower in
44VREG_VINPower in
45VREG_VOUTPower out
46USB_DMInput/output
47USB_DPInput/output
48USB_VDDPower in
49IOVDDPassive
50DVDDPassive
51QSPI_SD3Input/output
52QSPI_SCLKOutput
53QSPI_SD0Input/output
54QSPI_SD2Input/output
55QSPI_SD1Input/output
56QSPI_SSOutput
57GNDPower in

Open-source boards using it

All 1,841
  • 2 layers290.1 × 130 mmPro V2, the printed circuit board in 3D

    Pro V2

    kata0510/Lily58

    6×4+4keys column-staggered split keyboard.

    312 parts2.3k
  • 4 layers50 × 30 mmPicodvi, the printed circuit board in 3D

    Picodvi

    Fr4nkFletcher/ESP32-Marauder-Cheap-Yellow-Display

    ESP32Marauder Cheap Yellow Display

    55 parts1.8kMIT
  • 4 layers299 × 127 mmLaunch, the printed circuit board in 3D

    Launch

    system76/launch

    System76 Launch Configurable Keyboard

    385 parts1.4kGPL-3.0
  • 2 layers42 × 67 mmLalboard, the printed circuit board in 3D

    Lalboard

    JesusFreke/lalboard

    A 3D-printed keyboard inspired by the DataHand

    65 parts993
  • 2 layers181 × 97 mmOpenDeck r3.1.2, the printed circuit board in 3D

    OpenDeck r3.1.2

    shanteacontrols/OpenDeck

    A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

    262 parts960Apache-2.0
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 4 layers102.9 × 96.7 mmPicoGUS chipdown, the printed circuit board in 3D

    PicoGUS chipdown

    polpo/picogus

    Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

    99 parts805
  • 2 layers53.2 × 24.8 mmPicoLink, the printed circuit board in 3D

    PicoLink

    ErichStyger/mcuoneclipse

    McuOnEclipse projects and examples

    46 parts765

Show this part on your page

A live frame, for any web page
<iframe src="https://pcbkit.io/embed/parts/raspberry-pi/RP2040" title="RP2040 in PCBKit" width="100%" height="480" style="border:0;border-radius:12px" allow="fullscreen" loading="lazy"></iframe>
A picture
<img src="https://pcbkit.io/embed/parts/raspberry-pi/RP2040.jpg" alt="RP2040" width="1200" height="900">
A picture that opens the part, for a README
[![RP2040](https://pcbkit.io/embed/parts/raspberry-pi/RP2040.jpg?size=s)](https://pcbkit.io/parts/raspberry-pi/RP2040)

Questions

Is there a KiCad symbol and footprint for the RP2040?

Yes. The symbol is MCU_RaspberryPi:RP2040 and the footprint Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm, both drawn on this page. PCBKit places them on a board for you when you design with it.

What package is the RP2040?

LQFN-56(7x7), with 57 pins. Its footprint is drawn on this page.

Where is the RP2040 datasheet?

Raspberry Pi publishes it: the Datasheet link on this page opens it.

Where can I order the RP2040?

JLCPCB lists it as part C2040, with 57,971 in stock; the sellers' links on this page open their listings.

Which open-source boards use the RP2040?

1,841 boards in 1,418 repositories on GitHub; the most starred are listed on this page, with their KiCad files.