Waveshare rp2040-zero: high-resolution pinout and specs
Waveshare rp2040-zero high resolution pinout image
Here my selection of rp2040 devices Official Pi Pico - Official Pi Pico W - Waveshare rp2040-zero - WeAct Studio rp2040
PINs
Power Pins
- 5v – micro-USB input voltage
- 3V3 – regulated 3.3V output, 300mA max
- GND – main ground reference
GPIO Pins
- GP0 to GP29 – General Purpose Input Output (GPIO) as well as Pulse Width Modulation (PWM)
I2C Pins
- SCL0 – I2C port 0 clock
- SDA0 – I2C port 0 data
- SCL1 – I2C port 1 clock
- SDA1 – IC2 port 1 data
SPI Pins
- SCLK0 – SPI port 0 clock
- MOSI0 – SPI port 0 data out
- MISO0 – SPI port 0 data in
- SCLK1 – SPI port 1 clock
- MOSI1 – SPI port 1 data out
- MISO1 – SPI port 1 data in
ADC Pins
- ADC0 – Analog to Digital Converter (ADC) 0
- ADC1 – Analog to Digital Converter (ADC) 1
- ADC2 – Analog to Digital Converter (ADC) 2
- ADC3 – Analog to Digital Converter (ADC) 3
Specs
RP2040-Zero, A Low-Cost, High-Performance Pico-Like MCU Board Based On Raspberry Pi Microcontroller RP2040, with the following key features:
- RP2040 microcontroller chip designed by Raspberry Pi in the United Kingdom
- Dual-core Arm Cortex M0+ processor, flexible clock running up to 133 MHz
- 264KB of SRAM, and 2MB of on-board Flash memory
- USB-C connector, keeps it up to date, easier to use
- The castellated module allows soldering direct to carrier boards
- USB 1.1 with device and host support
- Low-power sleep and dormant modes
- Drag-and-drop programming using mass storage over USB
- 29 × multi-function GPIO pins (20× via edge pinout, others via solder points)
- 2 × SPI, 2 × I2C, 2 × UART, 4 × 12-bit ADC, 16 × controllable PWM channels
- Accurate clock and timer on-chip
- Temperature sensor
- Accelerated floating-point libraries on-chip
- 8 × Programmable I/O (PIO) state machines for custom peripheral support
Summary specs
- USB Type-C connector
- W25Q16JVUXIQ: 2MB NOR-Flash
- BOOT button: press it when resetting to enter download mode
- RESET button
- WS2812: RGB LED
- ME621: low dropout LDO, max current 800MA
- RP2040: dual-core processor, up to 133MHz operating frequency
- RP2040 pins: 10x solder points, 9 of which are for GPIO
How to
- Raspberry Pi Pico and rp2040 boards: pinout, specs, and Arduino IDE configuration
- Raspberry Pi Pico and rp2040 boards: integrated LittleFS filesystem
- Raspberry Pi Pico and rp2040 board: ethernet w5500 with plain (HTTP) and SSL (HTTPS) requests
- Raspberry Pi Pico and rp2040 boards: WiFiNINA with ESP32 WiFi Co-Processor
- Raspberry Pi Pico and rp2040 boards: how to use SD card
- Dallas ds18b20
- Connecting the EByte E70 to Raspberry Pi Pico (rp2040) devices and a simple sketch example
Datasheet
Schema
rp2040 datasheet
Tips
SPI configuration
To use SPI with this device, you must override the pins_arduino.h to use other SPI pins.
I select the pins from 2 to 4 (you lost I2C, but you can override again to pins 8 and 9).
#pragma once
// Pin definitions taken from:
// https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf
// For framework 2.4.0 file in
// rp2040\hardware\rp2040\2.4.0\variants\generic
// LEDs
#define PIN_LED (25u)
// Serial
#define PIN_SERIAL1_TX (0u)
#define PIN_SERIAL1_RX (1u)
#define PIN_SERIAL2_TX (8u)
#define PIN_SERIAL2_RX (9u)
// SPI
//#define PIN_SPI0_MISO (16u)
//#define PIN_SPI0_MOSI (19u)
//#define PIN_SPI0_SCK (18u)
//#define PIN_SPI0_SS (17u)
// SPI
#define PIN_SPI0_MISO (4u)
#define PIN_SPI0_MOSI (3u)
#define PIN_SPI0_SCK (2u)
#define PIN_SPI0_SS (5u)
#define PIN_SPI1_MISO (12u)
#define PIN_SPI1_MOSI (15u)
#define PIN_SPI1_SCK (14u)
#define PIN_SPI1_SS (13u)
// Wire
//#define PIN_WIRE0_SDA (4u)
//#define PIN_WIRE0_SCL (5u)
// Wire
#define PIN_WIRE0_SDA (8u)
#define PIN_WIRE0_SCL (9u)
#define PIN_WIRE1_SDA (26u)
#define PIN_WIRE1_SCL (27u)
#define SERIAL_HOWMANY (3u)
#define SPI_HOWMANY (2u)
#define WIRE_HOWMANY (2u)
#include "../generic/common.h"
Thanks
- Arduino
- esp8285
- esp8266
- ESP32
- ESP32 s2
- ESP32c3
- ESP32s3
- Arduino SAMD
- STM32
- Raspberry Pi