RP2040 (Cortex-M0+, Firmware)
RP2040 on its own (QFN-56): same simulation as the Pico. On the board it needs QSPI flash, a 12 MHz crystal and decoupling of the 1.1 V core regulator (Raspberry Pi hardware design guide).
Key data
- Category
- ICs
- Simulation model
- Microcontroller with real firmware
- Manufacturer part number
- RP2040
- Reference prefix
- U
- Pins
- 33
- Land pattern
- QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm
Notes
The firmware runs on an emulated CPU core, instruction by instruction. Peripherals that the model implements (GPIO, timers, UART, SPI, I²C, ADC and others, see the description) act on the pins of the circuit, so the analog parts around the chip see the same voltages and timing as on a real board.
- Right-click the part and choose "Open in code editor" to write and compile its code; "Serial monitor" shows its UART output.
- In the inspector you can load a demo firmware or your own ELF / Intel HEX / BIN file instead.
- GPIO pins are real circuit pins: an LED on an output needs a series resistor, an input needs a defined level (pull-up or pull-down).
- The debugger in the code view stops at breakpoints and shows registers, variables and the call stack.
Simulation model
An emulated CPU core runs the firmware binary instruction by instruction. The GPIO pins are pins of the analog circuit: outputs drive through a driver resistance, inputs read the voltage with thresholds.
- Device
- rp2040
- CPU core
- ARM Cortex-M0+ dual-core
- Emulator
- ARM Cortex-M emulator
- Firmware
- Arduino sketch compiled in the code view (Arduino-Pico core), or your own ELF / Intel HEX / BIN file
- Flash / RAM for firmware
- 2 MB / 256 KB
- Supply pins
- IOVDD / GND
- Mapped GPIO pins
- 31
Pins 33
simulatedreal chip onlyPin functions from the emulator and the datasheet.
| Pin | Name | Functions | Use |
|---|---|---|---|
| IOVDD | IOVDDSupply pin | I/O supply 3.3 V: 100 nF next to every IOVDD pin | |
| GND | GNDGround pin | Ground | |
| GP0 | GP0I/O pin | SPI0_RXUART0_TXI2C0_SDAPWM0_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP1 | GP1I/O pin | SPI0_CSnUART0_RXI2C0_SCLPWM0_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP2 | GP2I/O pin | SPI0_SCKUART0_CTSI2C1_SDAPWM1_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP3 | GP3I/O pin | SPI0_TXUART0_RTSI2C1_SCLPWM1_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP4 | GP4I/O pin | SPI0_RXUART1_TXI2C0_SDAPWM2_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP5 | GP5I/O pin | SPI0_CSnUART1_RXI2C0_SCLPWM2_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP6 | GP6I/O pin | SPI0_SCKUART1_CTSI2C1_SDAPWM3_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP7 | GP7I/O pin | SPI0_TXUART1_RTSI2C1_SCLPWM3_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP8 | GP8I/O pin | SPI1_RXUART1_TXI2C0_SDAPWM4_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP9 | GP9I/O pin | SPI1_CSnUART1_RXI2C0_SCLPWM4_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP10 | GP10I/O pin | SPI1_SCKUART1_CTSI2C1_SDAPWM5_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP11 | GP11I/O pin | SPI1_TXUART1_RTSI2C1_SCLPWM5_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP12 | GP12I/O pin | SPI1_RXUART0_TXI2C0_SDAPWM6_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP13 | GP13I/O pin | SPI1_CSnUART0_RXI2C0_SCLPWM6_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP14 | GP14I/O pin | SPI1_SCKUART0_CTSI2C1_SDAPWM7_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP15 | GP15I/O pin | SPI1_TXUART0_RTSI2C1_SCLPWM7_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP16 | GP16I/O pin | SPI0_RXUART0_TXI2C0_SDAPWM0_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP17 | GP17I/O pin | SPI0_CSnUART0_RXI2C0_SCLPWM0_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP18 | GP18I/O pin | SPI0_SCKUART0_CTSI2C1_SDAPWM1_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP19 | GP19I/O pin | SPI0_TXUART0_RTSI2C1_SCLPWM1_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP20 | GP20I/O pin | SPI0_RXUART1_TXI2C0_SDAPWM2_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP21 | GP21I/O pin | SPI0_CSnUART1_RXI2C0_SCLPWM2_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP22 | GP22I/O pin | SPI0_SCKUART1_CTSI2C1_SDAPWM3_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP23 | GP23I/O pin | SPI0_TXUART1_RTSI2C1_SCLPWM3_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP24 | GP24I/O pin | SPI1_RXUART1_TXI2C0_SDAPWM4_A | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP25 | GP25I/O pin | SPI1_CSnUART1_RXI2C0_SCLPWM4_B | GPIO; SPI, UART, I²C or PWM by function select (see the functions) |
| GP26 | GP26/ADC0I/O pin | SPI1_SCKUART1_CTSI2C1_SDAPWM5_AADC0 | Analog input: potentiometer, sensor voltage (0 V … supply) |
| GP27 | GP27/ADC1I/O pin | SPI1_TXUART1_RTSI2C1_SCLPWM5_BADC1 | Analog input: potentiometer, sensor voltage (0 V … supply) |
| GP28 | GP28/ADC2I/O pin | SPI1_RXUART0_TXI2C0_SDAPWM6_AADC2 | Analog input: potentiometer, sensor voltage (0 V … supply) |
| GP29 | GP29/ADC3I/O pin | SPI1_CSnUART0_RXI2C0_SCLPWM6_BADC3 | Analog input: potentiometer, sensor voltage (0 V … supply) |
| RUN | RUNInput pin | RUN | Reset, active low: 10 kΩ pull-up, 100 nF to GND, optional button to GND |
PCB
QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmland pattern not verified
| Package | Land pattern | Status | Source |
|---|---|---|---|
| QFN-56 | QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | Draft: check before production | KiCad 10.0.7: symbol RP2040, footprint Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm; Flash, crystal, VREG and USB pins are not in the schematic symbol: follow the hardware design guide |
| |||