Connected between 3V3 and GPIO15 through a current-limiting resistor; inverted polarity (LOW = ON, HIGH = OFF).
Powered by Espressif's 160 MHz RISC-V ESP32-C6 with 512 KB HP SRAM, 16 KB LP SRAM, and 4 MB of XIP flash inside a shielded module, the Seeed Studio XIAO ESP32-C6 packs Wi-Fi 6, BLE 5.3, and 802.15.4 Matter/Thread/Zigbee into a 17.8×21.0 mm castellated 14-pin footprint. Eleven exposed 3.3 V GPIOs (D0–D10) map default I2C (D4/D5), UART0 (D6/D7), and SPI2 (D8–D10, D3) while supporting full GPIO Matrix remapping across UART, SPI, I2C, I2S, TWAI, and PWM. Three 12-bit 100 ksps SAR ADC inputs occupy D0–D2 alongside an SGM6029 3.3 V buck converter (700 mA) and SGM40567 LiPo charger. All I/Os are strictly non-5V-tolerant, and GPIO3/GPIO14 control the onboard/U.FL RF switch.
Onboard Peripherals & Internal Signals
Must be driven LOW (handled automatically by Arduino/ESP-IDF board support) to power the FM8625H RF switch; driving HIGH powers down the switch for ultra-low deep sleep (~15 µA).
When GPIO3 is LOW, setting GPIO14 LOW routes 2.4 GHz RF to the onboard ceramic chip antenna; setting GPIO14 HIGH routes RF to the U.FL coaxial connector.
Hold BOOT while pressing RST (or plugging in USB-C) to force ROM serial/USB bootloader mode.
Momentary tactile switch positioned to the left of the USB Type-C receptacle.
Provides native Full-Speed USB CDC serial console, firmware flashing, and hardware JTAG debugging without an external UART bridge IC.
Charges a single-cell 3.7V LiPo from 5V USB-C. Note that VBAT is NOT connected to an ADC pin by default; add an external 2× 200 kΩ divider to A0/A1/A2 if battery voltage monitoring is needed.
Exposed as pogo-pin pads on the back of the PCB for factory programming, pad-level JTAG, or auxiliary low-power I/O.
Pin Assignment Planner
Add the peripherals you need and plan the pin assignments
Full Pin Reference (14 Pins)
| Pin # | Label | Type | Functions | Warnings & Notes |
|---|---|---|---|---|
| 1 | D0/A0 GPIO0 | mixed | GPIO0 ADC1_CH0 XTAL_32K_P LP_GPIO0 LP_UART_DTRN LEDC_CH0 |
XIAO D0 / Analog A0 (ESP32-C6 GPIO0, ADC1_CH0, LP_GPIO0, XTAL_32K_P)
|
| 2 | D1/A1 GPIO1 | mixed | GPIO1 ADC1_CH1 XTAL_32K_N LP_GPIO1 LP_UART_DSRN LEDC_CH1 |
XIAO D1 / Analog A1 (ESP32-C6 GPIO1, ADC1_CH1, LP_GPIO1, XTAL_32K_N)
|
| 3 | D2/A2 GPIO2 | mixed | GPIO2 ADC1_CH2 FSPIQ LP_GPIO2 LP_UART_RTSN LEDC_CH2 |
XIAO D2 / Analog A2 (ESP32-C6 GPIO2, ADC1_CH2, LP_GPIO2)
|
| 4 | D3 GPIO21 | digital | GPIO21 SDIO_DATA1 FSPICS5 MCPWM0_1B SPI2_CS |
XIAO D3 / Default Arduino SS (ESP32-C6 GPIO21, SDIO_DATA1)
|
| 5 | D4 GPIO22 | digital | GPIO22 SDIO_DATA2 MCPWM0_2A I2C0_SDA |
XIAO D4 / Default I2C SDA (ESP32-C6 GPIO22, SDIO_DATA2)
|
| 6 | D5 GPIO23 | digital | GPIO23 SDIO_DATA3 MCPWM0_2B I2C0_SCL |
XIAO D5 / Default I2C SCL (ESP32-C6 GPIO23, SDIO_DATA3)
|
| 7 | D6 GPIO16 | digital | GPIO16 U0TXD FSPICS0 LEDC_CH4 |
[INFO] Default ROM bootloader UART0 TX output (toggles at 115200 baud during reset)
Outputs ROM boot log messages at power-up/reset unless muted via eFuse or GPIO8 strapping. Can be reassigned after boot via the GPIO Matrix.
Ref: ESP32-C6 Datasheet v1.6 §2.3.1, Table 2-4 & §3.3
XIAO D6 / Default UART0 TX (ESP32-C6 GPIO16, U0TXD)
|
| 8 | D7 GPIO17 | digital | GPIO17 U0RXD FSPICS1 LEDC_CH5 |
[INFO] Default ROM bootloader UART0 RX input (internal pull-up active during boot)
Used by the ROM serial bootloader alongside USB Serial/JTAG in Download Boot mode. Freely usable for UART0 RX or general GPIO after boot.
Ref: ESP32-C6 Datasheet v1.6 §2.2, Table 2-1 & §2.3.1, Table 2-4
XIAO D7 / Default UART0 RX (ESP32-C6 GPIO17, U0RXD)
|
| 9 | D8 GPIO19 | digital | GPIO19 SDIO_CLK FSPICS3 MCPWM0_0B SPI2_SCK |
XIAO D8 / Default SPI SCK (ESP32-C6 GPIO19, SDIO_CLK)
|
| 10 | D9 GPIO20 | digital | GPIO20 SDIO_DATA0 FSPICS4 MCPWM0_1A SPI2_MISO |
XIAO D9 / Default SPI MISO (ESP32-C6 GPIO20, SDIO_DATA0)
|
| 11 | D10 GPIO18 | digital | GPIO18 SDIO_CMD FSPICS2 MCPWM0_0A SPI2_MOSI |
XIAO D10 / Default SPI MOSI (ESP32-C6 GPIO18, SDIO_CMD)
|
| 12 | 3V3 | power | 3V3_OUT |
[CAUTION] Regulated 3.3V rail (max ~700 mA shared with ESP32-C6 radio)
Driven by the high-efficiency SGM6029 synchronous buck converter from 5V USB or single-cell LiPo battery.
Regulated 3.3V output from onboard SGM6029 buck converter (up to 700 mA total budget)
|
| 13 | GND | ground | GND |
System digital & analog ground (0V)
|
| 14 | 5V | power | VBUS_5V |
[CAUTION] Unregulated 5V rail — NEVER connect directly to 3.3V D0–D10 GPIOs
Connected to USB-C VBUS via an isolation Schottky diode so external 5V input will not back-feed the USB host, but D0–D10 are strictly 3.3V-only!
5V VBUS power output from USB-C (via Schottky protection diode) or external 5V supply input
|