ESP32 C6 Zero Mini

Minimal ESP32-C6 board with RISC-V and modern wireless - ideal for cost-sensitive, compact Matter-based builds.

USB-C Native USB
ESP32 C6 Zero Mini board
23.5 × 18 mm
ESP32-C6
RISC-V MCU
160MHz
clock
4MB
flash
512KB
SRAM
20· 7 ADC
GPIO
BLE 5.3+ WiFi
radio
On this page

Pinout

25 pins · 2.54 mm pitch
View:
ESP32 C6 Zero Mini pinout diagram
PinGPIOLabelsStatusCapabilitiesNotes
1-5Vpower-5V power input for the board
2-GNDground-Ground connection
3-3V33.3Vpower-3.3V power output for peripherals
4-TXuartuartTX
5-RXuartuartRX
60IO0GP0safeadcGPIO, ADC pin
71IO1GP1safeadcGPIO, ADC pin
82IO2GP2safeadcGPIO, ADC pin
93IO3GP3safeadcGPIO, ADC pin
104IO4GP4strappingadcGPIO, ADC pin
115IO5GP5strappingadcGPIO, ADC pin
126IO6GP6strappingadcGPIO, ADC pin
137IO7GP7strapping-GPIO
148IO8GP8strapping-GPIO, LED
159IO9GP9strapping-GPIO, BOOT
1612IO12GP12uart-GPIO
1713IO13GP13uart-GPIO
1814IO14GP14safe-GPIO
1915IO15GP15strapping-GPIO
2018IO18GP18safe-GPIO
2119IO19GP19safe-GPIO
2220IO20GP20safe-GPIO
2321IO21GP21safe-GPIO
2422IO22GP22safe-GPIO
2523IO23GP23safe-GPIO

Start with these

11 pins with no boot or system involvement
IO0GP0IO1GP1IO2GP2IO3GP3IO14GP14IO18GP18IO19GP19IO20GP20IO21GP21IO22GP22IO23GP23

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

Fine - with a little care

sampled at boot or shared with debug/serial
PinLabelWhat to knowRole
IO4MTMSUsed during boot; required for JTAG debugging; flash data in internal-flash models.Strapping
IO5MTDIUsed during boot; required for JTAG debugging; flash data in internal-flash models.Strapping
IO6MTCKRequired for JTAG debugging; connected to flash clock in internal-flash models.JTAG
IO7MTDORequired for JTAG debugging; connected to flash data in internal-flash models.JTAG
IO8GPIO8Determines boot mode; pulling low at reset can prevent normal boot.Strapping
IO9GPIO9Pulling low on reset forces the ESP32-C6 into download mode instead of normal boot.Strapping
IO15JTAG_SELControls JTAG input source at boot; avoid altering its state.JTAG

Only if you know the tricks

wired to flash or USB - expect a fight
PinLabelWhat to knowRole
IO12USB_D-Dedicated to USB communication; avoid if using USB functionality.USB
IO13USB_D+Dedicated to USB communication; avoid if using USB functionality.USB
These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.
Pinout notes The ESP32 C6 Zero Mini breaks out 25 pins in total: 20 GPIO for your project, with 5V, GND and 3V3 handling power. On the analog side there are 7 ADC-capable…

The ESP32 C6 Zero Mini breaks out 25 pins in total: 20 GPIO for your project, with 5V, GND and 3V3 handling power.

On the analog side there are 7 ADC-capable pins for sensors and battery monitoring.

If you want zero surprises, IO0, IO1, IO2, IO3 and 7 more are free of any such role - the safest first picks. 7 of the exposed pins carry boot-time or system duties on the ESP32-C6 (IO4, IO5, IO6 and 4 more).

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Native USB - shows up as a port right away, no driver needed. Not detected? Hold BOOT while plugging in.
2
Match & flash
Set the Tools options shown, then click Upload.
3
Verify it runs
GPIO0 toggles - wire an LED and resistor to it, or change the pin to your board's own LED.
Set these in Tools · leave everything else at default
Arduino IDE 2.x - Tools Copy
Board: "ESP32C6 Dev Module"
USB CDC On Boot: "Enabled"
Flash Size: "4MB (32Mb)"
Flash Mode: "QIO"
Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)" (default)
Upload Speed: "921600"
▸ every other Tools option - leave at default
Board: ESP32C6 Dev Module
USB CDC On Boot: Enabled
Flash Size: 4MB (32Mb)
Flash Mode: QIO
Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
Upload Speed: 921600
Find it: Tools ▸ Board ▸ ESP32 Arduino ▸ ESP32C6 Dev Module
blink.ino Copy
// toggle GPIO0 - wire an LED and resistor to it
void setup() {
  pinMode(0, OUTPUT);
}
void loop() {
  digitalWrite(0, HIGH); delay(500);
  digitalWrite(0, LOW);  delay(500);
}
board to selectesp32-c6-devkitc-1⧉ copy
platformio.ini Copy
[env:esp32-c6-zero-mini]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = esp32-c6-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
Find it: PlatformIO Home ▸ Boards, search esp32-c6-devkitc-1 - or type it after board =.
board to selectesp32-c6-devkitc-1⧉ copy
device.yaml Copy
esp32:
  board: esp32-c6-devkitc-1
  variant: esp32c6
  framework:
    type: esp-idf

# blink - GPIO0
output:
  - platform: gpio
    pin: 0
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
Find it: search ESPHome's board list for esp32-c6-devkitc-1 (same ids as PlatformIO).
esptool doesn't pick board settings - a prebuilt .bin already has them baked in. This is just the raw flash command.
terminal Copy
esptool.py --chip esp32c6 --port /dev/ttyACM0 \
  --baud 921600 write_flash 0x0 firmware.bin
--port = your /dev/tty* (macOS/Linux) or COMx (Windows).
Build details: sketch space 1310720 B · data 327680 B · QIO

Specifications

ESP32-C6 · 23.5 × 18 mm · vs other ESP32 chips →
Compute
MCU
ESP32-C6 · RISC-V
Clock
160 MHz
SRAM · Flash
512 KB · 4MB
Radio
Wi-Fi
802.11 ax b/g/n
Bluetooth
5.3 LE
Antenna
Ceramic
I/O
GPIO · ADC
20 · 7
UART · I²C · SPI
2 +1 LP · 1 +1 LP · 1
PWM
6 channels
Power
USB
USB-C
Serial
Native (CDC)
Boot address
0x0
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
QIO · QIO
Sketch · Data
1.25 MB · 320 KB
18 mm23.5 mm
23.5 × 18 mm · pin pitch 2.54 mm
The ESP32 C6 Zero Mini uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is QIO with QIO boot mode. The maximum sketch size is 1.25 MB with 320 KB available for data.

About this board

At 23.5 × 18 mm it's among the smallest boards in the whole ESP32 family.

Inside sits the ESP32-C6 - a RISC-V part adding Wi-Fi 6 plus Thread/Zigbee radios. Sibling Zero-format boards cover the ESP32-C3 and ESP32-S3, so you can change radios or horsepower without changing the footprint.

It's the only ESP32-C6 option in the Zero-format family.

Expect to pay about $10.00 - above the ~$6.27 typical for Zero-format boards.

Onboard you'll find an addressable RGB LED (GPIO8) and Reset/Boot buttons.

It flashes over native USB - no serial-converter driver needed.

  • ESP32-C6FH4: Built-in dual processors, main frequency is up to 160 MHz
  • USB Type-C Port for downloading programme and debugging
  • ME6217C33M5G low dropout LDO, 800mA (Max)
  • WS2812 RGB LED
  • 2.4G ceramic antenna
  • BOOT button: Press it and then press the RESET button to enter download mode
  • RESET button
  • ESP32-C6FH4 pins

Where to buy

prices are typical street prices
ESP32 C6 Zero Mini
ESP32 C6 Zero Mini
$10.00per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards

All Zero boards →