# Waveshare RP2040-PiZero

> A Raspberry Pi Zero form-factor development board based on the RP2040 dual-core Cortex-M0+ MCU with 16MB flash, Mini HDMI (DVI) output via PIO bitbanging, USB-C, PIO-USB host port, microSD card slot, LiPo battery charging, and a 40-pin Raspberry Pi-compatible GPIO header.

## Quick Facts

- **Brand:** Waveshare
- **Price:** ~$9.99
- **CPU:** ARM Cortex-M0+ dual-core @ 133MHz
- **CPU Architecture:** ARM Cortex-M0+
- **CPU Cores:** 2
- **RAM:** 264KB SRAM
- **Flash:** 16MB
- **USB:** USB-C
- **Power:** 5V + LiPo
- **Operating Voltage:** 3.3V
- **Weight:** 12g
- **Battery:** LiPo (user-supplied, 1.25mm JST)
- **Antenna:** none
- **SD Card:** microSD

## Use Cases

- video-output
- retro-computing
- raspberry-pi-zero-replacement
- prototyping
- data-logging
- portable-display-controller

## Components

- **RP2040** (mcu): Raspberry Pi RP2040 dual-core ARM Cortex-M0+ processor at 133MHz with 264KB SRAM, 8 PIO state machines, and USB 1.1 support. PIO enables bitbanged DVI output and USB host functionality. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fdatasheets.raspberrypi.com%2Frp2040%2Frp2040-datasheet.pdf&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)
- **W25Q128JV** (flash-memory): Winbond 16MB (128Mbit) serial NOR flash memory with QSPI interface for firmware and data storage. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.winbond.com%2Fresource-files%2Fw25q128jv%2520spi%2520revc%252011162016.pdf&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)

## Protocols

- **DVI** (PIO DVI (Mini HDMI)): D2+: GPIO16, D2-: GPIO17, D1+: GPIO18, D1-: GPIO19, D0+: GPIO20, D0-: GPIO21, CLK+: GPIO14, CLK-: GPIO15
- **SPI** (SPI0 (SD Card)): SCK: GPIO6, MOSI: GPIO7, MISO: GPIO4, CS: GPIO5
- **UART** (UART0): TX: GPIO0, RX: GPIO1
- **I2C** (I2C1): SDA: GPIO2, SCL: GPIO3

## GPIO Map

| Pin | Name | Type | Functions |
|-----|------|------|-----------|
| GPIO0 | UART0 TX | UART | digital-input, digital-output, pwm |
| GPIO1 | UART0 RX | UART | digital-input, digital-output, pwm |
| GPIO2 | I2C1 SDA | I2C | digital-input, digital-output, pwm |
| GPIO3 | I2C1 SCL | I2C | digital-input, digital-output, pwm |
| GPIO4 | SPI0 MISO (SD) | SPI | digital-input, digital-output, pwm |
| GPIO5 | SPI0 CS (SD) | SPI | digital-input, digital-output, pwm |
| GPIO6 | SPI0 SCK (SD) | SPI | digital-input, digital-output, pwm |
| GPIO7 | SPI0 MOSI (SD) | SPI | digital-input, digital-output, pwm |
| GPIO8 | GPIO / PIO-USB D+ | — | digital-input, digital-output, pwm |
| GPIO9 | GPIO / PIO-USB D- | — | digital-input, digital-output, pwm |
| GPIO10 | GPIO | — | digital-input, digital-output, pwm |
| GPIO11 | GPIO | — | digital-input, digital-output, pwm |
| GPIO12 | GPIO | — | digital-input, digital-output, pwm |
| GPIO13 | GPIO | — | digital-input, digital-output, pwm |
| GPIO14 | DVI CLK+ | DVI | digital-input, digital-output, pwm |
| GPIO15 | DVI CLK- | DVI | digital-input, digital-output, pwm |
| GPIO16 | DVI D2+ | DVI | digital-input, digital-output, pwm |
| GPIO17 | DVI D2- | DVI | digital-input, digital-output, pwm |
| GPIO18 | DVI D1+ | DVI | digital-input, digital-output, pwm |
| GPIO19 | DVI D1- | DVI | digital-input, digital-output, pwm |
| GPIO20 | DVI D0+ | DVI | digital-input, digital-output, pwm |
| GPIO21 | DVI D0- | DVI | digital-input, digital-output, pwm |
| GPIO22 | GPIO | — | digital-input, digital-output, pwm |
| GPIO23 | GPIO | — | digital-input, digital-output, pwm |
| GPIO24 | VBUS Detect | — | digital-input |
| GPIO25 | LED | — | digital-input, digital-output, pwm |
| GPIO26 | ADC0 | — | digital-input, digital-output, pwm, adc |
| GPIO27 | ADC1 | — | digital-input, digital-output, pwm, adc |
| GPIO28 | ADC2 | — | digital-input, digital-output, pwm, adc |
| GPIO29 | ADC3 (VSYS/3) | — | digital-input, adc |

## Description

## Overview

The Waveshare RP2040-PiZero is a development board that brings the Raspberry Pi RP2040 microcontroller into the familiar Raspberry Pi Zero form factor. With its 40-pin GPIO header fully compatible with Raspberry Pi Zero HATs and accessories, it serves as a capable MCU-based alternative to the Pi Zero for projects that need deterministic real-time control rather than a full Linux environment.

The standout feature is the onboard Mini HDMI connector providing DVI video output, achieved through the RP2040's PIO (Programmable I/O) state machines using the PicoDVI library. This enables driving external HDMI monitors at up to 640x480p 60Hz resolution directly from a microcontroller, opening up possibilities for retro computing, digital signage, and custom display applications. The PIO-USB port adds USB host capability, also implemented via PIO, enabling connection to USB keyboards, mice, and other peripherals.

With 16MB of onboard flash (W25Q128JV), a microSD card slot for expanded storage, and a LiPo battery charging circuit with PH2.0 connector, the RP2040-PiZero is well-suited for portable and battery-powered projects. The board supports C/C++ via the Pico SDK, MicroPython, and Arduino development, though DVI and PIO-USB features require C/C++ and cannot be used simultaneously due to PIO resource constraints.

## Where to Buy

- [Waveshare](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Frp2040-pizero.htm&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export) — 9.99

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Frp2040-pizero.htm&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Fraspberrypi%2Fpico-examples&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Fwiki%2FRP2040-PiZero&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)
- [datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fdatasheets.raspberrypi.com%2Frp2040%2Frp2040-datasheet.pdf&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)
- [schematics](https://openhardware.directory/r?to=https%3A%2F%2Ffiles.waveshare.com%2Fwiki%2FRP2040-PiZero%2FRP2040-PiZero-Schematic.pdf&ref=openhardware.directory&product=waveshare-rp2040-pizero&source=md-export)

## Images

![Waveshare RP2040-PiZero](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-rp2040-pizero/dc00e5b54c38.jpg)
![Waveshare RP2040-PiZero](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-rp2040-pizero/996372966eae.jpg)
![Waveshare RP2040-PiZero](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-rp2040-pizero/8ad63f22a593.jpg)
![Waveshare RP2040-PiZero](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-rp2040-pizero/af810d4e1ede.jpg)

> **Battery Powered:** Li-Po

---
[View full device page](https://openhardware.directory/devices/waveshare-rp2040-pizero)