XIAO ESP32C3 image

Seed Studio XIAO ESP32C3 (XIAO ESP32C3)

Development Board

Code name: XIAO_ESP32C3

Seed Studio XIAO ESP32C3 (XIAO ESP32C3) is a development board based on the ESP32C3 microcontroller using RISCV32 architecture.

This board features a maximum CPU frequency of 160 MHz and 4MB flash memory.

About XIAO ESP32C3

The XIAO ESP32C3 is a compact and versatile development board based on the ESP32-C3 RISC-V chip. With built-in WiFi 802.11b/g/n and Bluetooth 5 (LE), it is ideal for IoT applications requiring wireless communication. 📡

Its small form factor makes it suitable for wearable projects, DIY automation, and more. The board features a USB-C port for easy programming and power supply. It supports multiple communication interfaces, including UART, I2C, and SPI. 🚀

The XIAO ESP32C3 also includes a reset button and a bootloader mode button, simplifying development and debugging.⚡

Where to Buy XIAO ESP32C3

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

Complete technical specification details for XIAO ESP32C3

USB

Type USB-C
Serial Chip Internal

Connectivity

WiFi 802.11 b/g/n (2.4 GHz)
Bluetooth 5.0
BLE 5.0

Microcontroller

Model esp32c3
Clock Speed 160 MHz
Flash Size 4MB
SRAM 400KB
Architecture riscv32

Features & Pins

Digital IO 11
Analog Input 3
PWM 11
Interrupts 11
  • Ultra-small form factor (20x17.5 mm)
  • Low power consumption with deep sleep support

Quick Setup

Copy-paste configs for XIAO ESP32C3 - auto‑generated from this board's exact hardware specs.

ESP32C3 160 MHz 4MB QIO RISC-V

In Arduino IDE 2 select Xiao Esp32c3 from the esp32 by Espressif package. In PlatformIO use board = esp32-c3-devkitm-1. ESP32C3 · 160 MHz · 4MB · QIO · RISC-V.

Tools menu settings
Board (select in Arduino IDE) Xiao Esp32c3
CPU Frequency 160 MHz
Flash Size 4MB
Flash Mode QIO
Upload Speed 921600
Architecture RISC-V

In Arduino IDE 2, open Boards Manager, search "esp32" by Espressif and install it. Then go to Tools → Board and select "Xiao Esp32c3" for the XIAO ESP32C3.

XIAO ESP32C3 Pinout Diagram

Complete pin reference for XIAO ESP32C3

XIAO ESP32C3 pinout diagram

The XIAO ESP32C3 pinout is optimized for maximum functionality in a tiny package. It includes essential power pins like 5V, 3.3V, and GND for stable power delivery.

It supports multiple communication protocols, with dedicated pins for UART (RX and TX), I2C (SDA and SCL), and SPI (SCK, MISO, MOSI, and SS).

Analog input pins are labeled A0 to A3, making them ideal for sensor integration. Despite its small size, the XIAO ESP32C3 provides flexible connectivity for a variety of applications.

Safe Pins to Use

These pins are safe for general GPIO usage without boot or system conflicts

IO3
IO10

Why Are These Pins Safe?

No boot sequence involvement
No flash/PSRAM connections
No USB or JTAG conflicts
Freely assignable without issues

Pins to Avoid or Use with Caution

Reserved for critical functions. Misuse may cause boot failures, programming issues, or system conflicts.

Strapping Pins

Boot behavior & flash voltage

JTAG Debugging

Low-level debugging interface

USB Pins

USB Serial/JTAG communication

Flash/SPI Pins

Memory & PSRAM connections

UART Serial

Debugging & firmware uploads

PINLabelWhy AvoidType
IO2GPIO2Must be held high during boot (if low on reset, normal flash boot may fail)🛠️ Strapping
IO4MTMSUsed during boot; JTAG TMS for debugging; acts as Quad-SPI flash IO (hold data line) in internal-flash variants🔗 JTAG
IO5MTDIUsed during boot; JTAG TDI for debugging; acts as Quad-SPI flash IO (write-protect data line) in internal-flash variants🔗 JTAG
IO6MTCKUsed during boot; JTAG TCK for debugging; provides flash clock in internal-flash variants🔗 JTAG
IO7MTDOUsed during boot; JTAG TDO for debugging; acts as Quad-SPI flash IO (data line) in internal-flash variants🔗 JTAG

XIAO ESP32C3 Custom Pin Mapping

Pin configuration and GPIO mapping for XIAO ESP32C3

11
Digital I/O Pins
11
Interrupt Pins
3
Analog Inputs
11
PWM Pins
PinFunctionESP PinI/O TypeDescription
15V5VPOWER INPUT5V power input
2GNDGNDGROUNDGround connection
33V33.3VPOWER OUTPUT3.3V power output
4IO2A0BIDIRECTIONALGPIO, ADC
5IO3A1BIDIRECTIONALGPIO, ADC
6IO4A2BIDIRECTIONALGPIO, ADC
7IO5A3BIDIRECTIONALGPIO, ADC
8IO6SDABIDIRECTIONALGPIO, I2C Data
9IO7SCLBIDIRECTIONALGPIO, I2C Clock
10IO8SCKBIDIRECTIONALGPIO, SPI Clock
11IO9MISOBIDIRECTIONALGPIO, SPI Data
12IO10MOSIBIDIRECTIONALGPIO, SPI Data
13IO20RXBIDIRECTIONALGPIO, UART Receive
14IO21TXBIDIRECTIONALGPIO, UART Transmit
Legend
Function Pin role
GPIO ESP32 pin
I/O Direction
# Pin number

Pin Mappings

Complete pinout and GPIO mapping for XIAO ESP32C3

11
Digital I/O Pins
11
Interrupt Pins
3
Analog Inputs
11
PWM Pins
PinAnalogTouchPWMOther
2A0
3A1
4A2
5A3
6SDA
7SCL
8SCK
9MISO
10MOSI
20RX SS
21TX
Legend
A0 Analog input
T0 Touch sensor
PWM PWM capable
RX/TX Serial pins
LED Built-in LED
# Pin number

Default Tools & Configuration

Build and upload settings for XIAO ESP32C3

SettingValue
Bootloader toolesptool_py
Uploader toolesptool_py
Network uploader toolesp_ota
Bootloader address0x0
Flash modeqio
Boot modeqio
Maximum upload size
1280 KB (1310720 bytes)
Maximum data size
320 KB (327680 bytes)
Configuration Summary

The XIAO ESP32C3 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: 1280 KB | Max data size: 320 KB