Opens in a new tab

Waveshare RP2040-Zero Pinout

RP2040-Zero from Waveshare is a thumb-sized board (23.5 × 18 mm) with the RP2040 chip, the same as the Raspberry Pi Pico. It has USB-C, an addressable RGB LED and 29 GPIO – 20 on solder pads around the edge and another 9 on pads on the bottom.

It’s well suited for small devices, macro keyboards or as an inexpensive Pico substitute where a Pico won’t fit.

Specifications

  • RP2040: 2× Arm Cortex-M0+ up to 133 MHz, 264 kB SRAM, 8 PIO state machines
  • 2 MB flash
  • 29 GPIO (20 around the edge, 9 on pads on the bottom), 4 analog inputs (GP26–GP29)
  • 2× UART, 2× I2C, 2× SPI, 16× PWM
  • USB-C (native USB 1.1), WS2812 RGB LED on GP16
  • BOOT and RESET buttons
  • 23.5 × 18 mm, castellated pads on the edge

It is programmed just like the Pico: connect USB while holding the BOOT button (or press RESET) and the board shows up as an RPI-RP2 drive, where you copy the UF2 file. In Arduino, use the arduino-pico core (board “Waveshare RP2040 Zero”); MicroPython and CircuitPython work too.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
Waveshare RP2040-Zero – pinoutWaveshare RP2040-Zero – pinoutchiptron.eu · CC BY 4.0USB-CBOOTRESETRP2040 zespoduLED: GP16 (RGB WS2812) 23 5V ↔ 5 V from USB (no diode), or 5 V power input 22 GND 21 3V3 ← 3.3 V output from the regulator (500 mA for the whole board) 20 GP29 UART0 RX I2C0 SCL SPI1 CSn ADC3 19 GP28 UART0 TX I2C0 SDA SPI1 RX ADC2 18 GP27 I2C1 SCL SPI1 TX ADC1 17 GP26 I2C1 SDA SPI1 SCK ADC0 16 GP15 I2C1 SCL SPI1 TX 15 GP14 I2C1 SDA SPI1 SCK 1 GP0 UART0 TX I2C0 SDA SPI0 RX 2 GP1 UART0 RX I2C0 SCL SPI0 CSn 3 GP2 I2C1 SDA SPI0 SCK 4 GP3 I2C1 SCL SPI0 TX 5 GP4 UART1 TX I2C0 SDA SPI0 RX 6 GP5 UART1 RX I2C0 SCL SPI0 CSn 7 GP6 I2C1 SDA SPI0 SCK 8 GP7 I2C1 SCL SPI0 TX 9 GP8 UART1 TX I2C0 SDA SPI1 RX 14 GP13 UART0 RX I2C0 SCL SPI1 CSn 13 GP12 UART0 TX I2C0 SDA SPI1 RX 10 GP9 UART1 RX I2C0 SCL SPI1 CSn 11 GP10 I2C1 SDA SPI1 SCK 12 GP11 I2C1 SCL SPI1 TX GPIO UART I2C SPI ADC (analog) Power Ground (GND)

Bottom side

Waveshare RP2040-Zero – pinout (bottom side)Waveshare RP2040-Zero – pinout (bottom side)chiptron.eu · CC BY 4.01413121110231222213204195186177168159 GND GP25 UART1 RX I2C0 SCL SPI1 CSn GP24 UART1 TX I2C0 SDA SPI1 RX GP23 I2C1 SCL SPI0 TX GP22 I2C1 SDA SPI0 SCK GP21 UART1 RX I2C0 SCL SPI0 CSn GP20 UART1 TX I2C0 SDA SPI0 RX GP19 I2C1 SCL SPI0 TX GP18 I2C1 SDA SPI0 SCK GP17 UART0 RX I2C0 SCL SPI0 CSn GPIO UART I2C SPI Ground (GND)
Download:PNGSVG
Download – Bottom side:PNGSVG
Pin table – Waveshare RP2040-Zero
PinNameDirectionUARTI2CSPIPWMADCNote
1GP0input/outputUART0 TXI2C0 SDASPI0 RXPWM0 A
2GP1input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B
3GP2input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
4GP3input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
5GP4input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
6GP5input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
7GP6input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
8GP7input/outputUART1 RTSI2C1 SCLSPI0 TXPWM3 B
9GP8input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
10GP9input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
11GP10input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 A
12GP11input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 B
13GP12input/outputUART0 TXI2C0 SDASPI1 RXPWM6 A
14GP13input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 B
15GP14input/outputUART0 CTSI2C1 SDASPI1 SCKPWM7 A
16GP15input/outputUART0 RTSI2C1 SCLSPI1 TXPWM7 B
17GP26input/outputUART1 CTSI2C1 SDASPI1 SCKPWM5 AADC0
18GP27input/outputUART1 RTSI2C1 SCLSPI1 TXPWM5 BADC1
19GP28input/outputUART0 TXI2C0 SDASPI1 RXPWM6 AADC2
20GP29input/outputUART0 RXI2C0 SCLSPI1 CSnPWM6 BADC3ADC3 – unlike the Pico, broken out as a regular pin
213V3output3.3 V output from the RT9013 regulator (500 mA including the board's own consumption).
22GND–
235Vinput/output5 V directly from the USB connector (VBUS, no diode). It can power the board, but do not connect a supply at the same time as USB – voltage would flow into the computer.
Bottom sideGND–
Bottom sideGP25input/outputUART1 RXI2C0 SCLSPI1 CSnPWM4 B
Bottom sideGP24input/outputUART1 TXI2C0 SDASPI1 RXPWM4 A
Bottom sideGP23input/outputUART1 RTSI2C1 SCLSPI0 TXPWM3 B
Bottom sideGP22input/outputUART1 CTSI2C1 SDASPI0 SCKPWM3 A
Bottom sideGP21input/outputUART1 RXI2C0 SCLSPI0 CSnPWM2 B
Bottom sideGP20input/outputUART1 TXI2C0 SDASPI0 RXPWM2 A
Bottom sideGP19input/outputUART0 RTSI2C1 SCLSPI0 TXPWM1 B
Bottom sideGP18input/outputUART0 CTSI2C1 SDASPI0 SCKPWM1 A
Bottom sideGP17input/outputUART0 RXI2C0 SCLSPI0 CSnPWM0 B

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GP16WS2812 RGB LED (not broken out)

What to watch out for

  • GPIO are not 5V tolerant.
  • The RGB LED is addressable (WS2812) – digitalWrite won’t light it; you need the NeoPixel library.
  • The 5V pin carries the USB voltage directly, without a diode – don’t connect a power supply at the same time as USB.
  • The bottom pads (GP17–GP25) have a 1.27 mm pitch – not suitable for a breadboard.
  • Clones often have the same layout but a different flash chip or regulator.

RP2040 on chiptron.eu/

Projects and guides on chiptron.eu/:

  • Picogame – a game engine for CircuitPython optimized for RP2040 and RP2350 chips

More pinouts

See all pinouts on the Pinouts page.

Related Articles