

















RP2040-Zero Raspberry Pi Microcontroller Board Dual-Core Cortex M0+ 2MB Flash 29GPIO
$8.20 Inc. GST
You save (%)
- Description
- Code Examples
- Additional information
- Reviews (0)
Description
🧠 RP2040-Zero Raspberry Pi Microcontroller Board – Dual-Core Cortex-M0+ | 2 MB Flash | 29 GPIO Pins
Overview
The RP2040-Zero is a compact, high-performance development board based on the official Raspberry Pi RP2040 dual-core Cortex-M0+ microcontroller.
Combining power, flexibility, and a tiny footprint, it’s perfect for IoT, robotics, automation, embedded control, and wearable projects.
With 29 GPIO pins, built-in communication peripherals, and full compatibility with Arduino IDE, MicroPython, and CircuitPython, the RP2040-Zero provides everything you need for efficient development and rapid prototyping — at an incredibly low cost.
⚙️ Key Features
-
💻 Processor: Raspberry Pi RP2040 dual-core ARM Cortex-M0+ running up to 133 MHz
-
💾 Memory: 264 KB SRAM + 2 MB on-board Flash storage
-
📌 GPIO: 29 multi-function pins supporting SPI, I²C, UART, ADC and PWM
-
🔗 USB 1.1 Host & Device support with Micro-USB connection
-
🧭 Built-in Peripherals: Temperature sensor, timers, and accurate clock
-
🔧 PIO (Programmable I/O): 8 state machines for custom protocol emulation
-
🌙 Low-Power Modes: Sleep and hibernate for battery-powered devices
-
📏 Ultra-compact design: ideal for robots, IoT nodes, and embedded systems
-
🧩 Software Support: Fully compatible with Arduino, MicroPython, and CircuitPython
📊 Technical Specifications
| Parameter | Description |
|---|---|
| Microcontroller | Raspberry Pi RP2040 (dual-core Cortex-M0+) |
| Clock Speed | Up to 133 MHz |
| Memory | 264 KB SRAM + 2 MB Flash |
| GPIO Pins | 29 multi-function I/O |
| Interfaces | SPI, I²C, UART |
| ADC | 3 × 12-bit inputs |
| PWM Channels | 16 |
| PIO Units | 8 state machines |
| USB Support | USB 1.1 Host & Device |
| Operating Voltage | 3.3 V logic |
| Power Input | 5 V via Micro-USB |
| Dimensions | ~22 × 18 mm (tiny form factor) |
| Weight | ~3 g |
🧩 Applications
✅ IoT devices and wireless sensor nodes
✅ Smart home automation projects
✅ DIY robotics and motor control
✅ Embedded system design and prototyping
✅ Wearable electronics and portable gadgets
✅ STEM education and maker learning kits
📦 Package Includes
-
1 × RP2040-Zero Microcontroller Development Board
📌 Code Examples – RP2040 Zero (Dual-Core Cortex-M0+, 2MB Flash)
📋 Overview
The RP2040 Zero is a compact Raspberry Pi RP2040-based microcontroller board with:
✔ Dual-Core Cortex-M0+
✔ Up to 2 MB Flash
✔ ~29 GPIOs
✔ Support for Arduino, MicroPython, and C/C++ SDK
This section includes basic examples showing:
-
GPIO (digital in/out)
-
PWM (LED brightness / servo control)
-
ADC (analog sensors)
-
I²C interfacing
🟢 MicroPython Getting Started
1) Install MicroPython Firmware
-
Hold BOOTSEL and connect the board via USB
-
Release BOOTSEL when a USB drive appears
-
Drag & drop the official MicroPython UF2 file onto the board
Open Thonny IDE and choose MicroPython (RP2040) as the interpreter.
🔌 MicroPython – Blink LED
from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.toggle()
time.sleep(0.5)
This toggles the onboard LED (GPIO25) every 500 ms.
📊 MicroPython – PWM Control (LED Brightness)
from machine import Pin, PWM
import time
pwm = PWM(Pin(25))
pwm.freq(1000) # 1 kHz
while True:
for duty in range(0, 65535, 5000):
pwm.duty_u16(duty)
time.sleep(0.02)
for duty in range(65535, 0, -5000):
pwm.duty_u16(duty)
time.sleep(0.02)
This code smoothly fades the LED up and down.
📈 MicroPython – ADC Read (Analog Sensors)
from machine import ADC, Pin
import time
adc_pin = ADC(Pin(26)) # A0 on many Pi RP2040 boards
while True:
raw = adc_pin.read_u16()
voltage = raw * (3.3 / 65535)
print("Raw:", raw, "Voltage:", round(voltage, 2))
time.sleep(0.5)
This reads an analog sensor and prints the voltage.
🎛 MicroPython – I²C Scan
from machine import Pin, I2C
i2c = I2C(0, scl=Pin(17), sda=Pin(16)) # adjust pins as needed
devices = i2c.scan()
print("I2C devices found:", devices)
Useful for verifying I²C sensor connections.
🔵 Arduino Getting Started
Arduino IDE Setup
-
Open Arduino IDE 2.x
-
Go to Boards Manager
-
Install Raspberry Pi RP2040 Boards
-
Select RP2040 Zero (or generic Pico RP2040)
-
Choose Upload Method as USB
🔌 Arduino – Blink LED
const int LED_PIN = 25;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
⚙️ Arduino – PWM (LED or Servo)
const int pwmPin = 25; // hardware PWM
void setup() {
pinMode(pwmPin, OUTPUT);
// Default PWM frequency on RP2040 is ~488 Hz
analogWriteResolution(8); // 0–255 range
}
void loop() {
for (int duty = 0; duty <= 255; duty++) {
analogWrite(pwmPin, duty);
delay(10);
}
for (int duty = 255; duty >= 0; duty--) {
analogWrite(pwmPin, duty);
delay(10);
}
}
This fades the LED up and down using PWM.
📈 Arduino – ADC Read
const int ADC_PIN = 26; // A0
void setup() {
Serial.begin(9600);
}
void loop() {
int raw = analogRead(ADC_PIN); // ~0–4095 or higher resolution
float voltage = (raw * 3.3) / 4095.0;
Serial.print("Raw: ");
Serial.print(raw);
Serial.print(" | Voltage: ");
Serial.println(voltage, 2);
delay(500);
}
🔌 Arduino – I²C Scan
#include <Wire.h>
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("I2C Scanner");
}
void loop() {
byte error, address;
int nDevices = 0;
for (address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at 0x");
Serial.println(address, HEX);
nDevices++;
}
}
if (nDevices == 0) Serial.println("No I2C devices found");
delay(5000);
}
This discovers I²C devices connected to the board.
🧠 Notes & Tips
✔ RP2040 Zero’s GPIO numbering corresponds to the physical pins — be sure to double-check your board’s pinout
✔ Analog pins typically read 12-bit values (0–4095) in Arduino
✔ For Servo motors, use PWM with appropriate frequency and an external power supply
✔ For I²C sensors, enable Wire.begin() before scanning or communicating
✔ RP2040 supports dual cores — for advanced users you can run tasks on both cores with appropriate SDKs
Additional information
| Weight | 40 g |
|---|---|
| Dimensions | 260 × 160 × 20 mm |
Only logged in customers who have purchased this product may leave a review.
































Reviews
There are no reviews yet.