
XIAO ESP32C6 is a development board based on the ESP32C6 microcontroller using RISCV32 architecture.
This board features a maximum CPU frequency of 160 MHz and 8MB flash memory.
About XIAO ESP32C6
Designed for compact projects, it includes a USB-C port for seamless programming and power, plus an onboard reset button and bootloader mode button for easy debugging. β‘
The XIAO ESP32C6 supports multiple interfaces like UART, I2C, and SPI, making it an excellent choice for smart home automation, sensor networks, and low-power applications.
Where to Buy XIAO ESP32C6
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
Technical Specifications
Complete technical specification details for XIAO ESP32C6
USB
Connectivity
Microcontroller
β¨ Features & Pins
- β’ Supports WiFi 6, Bluetooth 5, and Zigbee
- β’ Ultra-small size (21x17.5 mm)
- β’ Low power consumption with deep sleep support
Quick Setup
Copy-paste configs for XIAO ESP32C6 - auto‑generated from this board's exact hardware specs.
In Arduino IDE 2 select Xiao Esp32c6 from the esp32 by Espressif package. In PlatformIO use board = esp32-c6-devkitc-1. ESP32C6 · 160 MHz · 8MB · QIO · RISC-V.
In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools β Board and select "Xiao Esp32c6" for the XIAO ESP32C6.
[env:xiao-esp32c6]
platform = espressif32
board = esp32-c6-devkitc-1
framework = arduino
; Exact hardware config for XIAO ESP32C6
board_build.mcu = esp32c6
board_build.f_cpu = 160000000L
board_build.flash_size = 8MB
board_build.flash_mode = qio
board_upload.flash_size = 8MBThe board value is a close generic match - check PlatformIO board registry for an exact fit.
esp32:
board: esp32-c6-devkitc-1
framework:
type: arduino # or "esp-idf"
# XIAO ESP32C6 - 160 MHz ESP32C6
# Flash: 8MB | USB: USB-CPaste into your device's .yaml. See ESPHome ESP32 docs for full options.
esptool.py \
--chip esp32c6 \
--baud 921600 \
write_flash \
--flash_mode qio \
--flash_size 8MB \
0x0 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.binInstall: pip install esptool - replace firmware.bin with your binary - bootloader at 0x0
XIAO ESP32C6 Pinout Diagram
Complete pin reference for XIAO ESP32C6
The XIAO ESP32C6 pinout is designed to provide a well-balanced selection of I/O pins in a compact form factor. It includes essential power pins like 5V, 3.3V, and GND.
For communication, it supports UART (RX and TX), I2C (SDA and SCL), and SPI (SCK, MISO, MOSI, and SS), allowing integration with a wide range of peripherals.
Analog input pins labeled A0 to A3 make sensor integration easy, while additional GPIOs provide further flexibility.
Safe Pins to Use
These pins are safe for general GPIO usage without boot or system conflicts
Why Are These Pins Safe?
Pins to Avoid or Use with Caution
Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.
Boot behavior & flash voltage
Low-level debugging interface
USB Serial/JTAG communication
Memory & PSRAM connections
Debugging & firmware uploads
| PIN | Label | Why Avoid | Type |
|---|---|---|---|
| IO4 | MTMS | Used during boot; required for JTAG debugging; flash data in internal-flash models. | π οΈ Strapping |
| IO5 | MTDI | Used during boot; required for JTAG debugging; flash data in internal-flash models. | π οΈ Strapping |
| IO6 | MTCK | Required for JTAG debugging; connected to flash clock in internal-flash models. | π JTAG |
| IO7 | MTDO | Required for JTAG debugging; connected to flash data in internal-flash models. | π JTAG |
| IO8 | GPIO8 | Determines boot mode; pulling low at reset can prevent normal boot. | π οΈ Strapping |
| IO9 | GPIO9 | Pulling low on reset forces the ESP32-C6 into download mode instead of normal boot. | π οΈ Strapping |
XIAO ESP32C6 Additional Information
More details about XIAO ESP32C6

Useful Links
Datasheets and resources for XIAO ESP32C6
XIAO ESP32C6 Custom Pin Mapping
Pin configuration and GPIO mapping for XIAO ESP32C6
| Pin | Function | ESP Pin | I/O Type | Description |
|---|---|---|---|---|
| 1 | 5V | 5V | POWER INPUT | 5V power input |
| 2 | GND | GND | GROUND | Ground connection |
| 3 | 3V3 | 3.3V | POWER OUTPUT | 3.3V power output |
| 4 | IO2 | A0 | BIDIRECTIONAL | GPIO, ADC |
| 5 | IO3 | A1 | BIDIRECTIONAL | GPIO, ADC |
| 6 | IO4 | A2 | BIDIRECTIONAL | GPIO, ADC |
| 7 | IO5 | A3 | BIDIRECTIONAL | GPIO, ADC |
| 8 | IO6 | SDA | BIDIRECTIONAL | GPIO, I2C Data |
| 9 | IO7 | SCL | BIDIRECTIONAL | GPIO, I2C Clock |
| 10 | IO8 | SCK | BIDIRECTIONAL | GPIO, SPI Clock |
| 11 | IO9 | MISO | BIDIRECTIONAL | GPIO, SPI Data |
| 12 | IO10 | MOSI | BIDIRECTIONAL | GPIO, SPI Data |
| 13 | IO20 | RX | BIDIRECTIONAL | GPIO, UART Receive |
| 14 | IO21 | TX | BIDIRECTIONAL | GPIO, UART Transmit |
Pin Mappings
Complete pinout and GPIO mapping for XIAO ESP32C6
| Pin | Analog | Touch | PWM | Other |
|---|---|---|---|---|
| 2 | A0 | |||
| 3 | A1 | |||
| 4 | A2 | |||
| 5 | A3 | |||
| 6 | SDA | |||
| 7 | SCL | |||
| 8 | SCK | |||
| 9 | MISO | |||
| 10 | MOSI | |||
| 20 | RX SS | |||
| 21 | TX |
Default Tools & Configuration
Build and upload settings for XIAO ESP32C6
| Setting | Value |
|---|---|
| Bootloader tool | esptool_py |
| Uploader tool | esptool_py |
| Network uploader tool | esp_ota |
| Bootloader address | 0x0 |
| Flash mode | qio |
| Boot mode | qio |
| Maximum upload size | 1920 KB (1966080 bytes) |
| Maximum data size | 640 KB (655360 bytes) |
The XIAO ESP32C6 uses esptool_py for uploads , esp_ota for OTA updates, and esptool_py bootloader at 0x0.
Flash mode: qio | Boot mode: qio
Max sketch size: 1920 KB | Max data size: 640 KB
Similar Boards
Other development boards with ESP32C6 microcontroller

XIAO ESP32C3
XIAO ESP32C3 development board is based on esp32c3 microcontroller and uses riscv32 architecture.

XIAO ESP32S3 Plus
XIAO ESP32S3 Plus development board is based on esp32s3 microcontroller and uses xtensa architecture.

XIAO ESP32S3
XIAO ESP32S3 development board is based on esp32s3 microcontroller and uses xtensa architecture.


