Espressif ESP32-C6-DevKitC-1
by Espressif
Official ESP32-C6 dev board with Wi-Fi 6, Thread, and BLE - ideal for Matter, secure IoT, and embedded development.

On this page
Pinout
32 pins · 2.54 mm pitch| Pin | GPIO | Labels | Status | Capabilities | Notes |
|---|---|---|---|---|---|
| 1 | - | 3V33.3V | power | - | J1 header. 3.3V regulated power output. |
| 2 | - | RSTEN | control | - | J1 header. Chip enable/reset - high enables the chip, low disables it. |
| 3 | 4 | IO4MTMS | strapping | adc | J1 header. GPIO4; ADC1 channel 4; JTAG MTMS; LP GPIO/UART RXD. |
| 4 | 5 | IO5MTDI | strapping | adc | J1 header. GPIO5; ADC1 channel 5; JTAG MTDI; LP GPIO/UART TXD. |
| 5 | 6 | IO6MTCK | strapping | adc | J1 header. GPIO6; ADC1 channel 6; JTAG MTCK; LP I2C SDA. |
| 6 | 7 | IO7MTDO | strapping | - | J1 header. GPIO7; JTAG MTDO; LP I2C SCL. |
| 7 | 0 | IO0 | safe | adc | J1 header. GPIO0; ADC1 channel 0; 32 kHz crystal input (XTAL_32K_P). |
| 8 | 1 | IO1 | safe | adc | J1 header. GPIO1; ADC1 channel 1; 32 kHz crystal input (XTAL_32K_N). |
| 9 | 8 | IO8 | strapping | - | J1 header. GPIO8; drives the onboard addressable RGB LED; strapping pin (boot mode). |
| 10 | 10 | IO10 | safe | - | J1 header. GPIO10. |
| 11 | 11 | IO11 | safe | - | J1 header. GPIO11. |
| 12 | 2 | IO2 | safe | adc | J1 header. GPIO2; ADC1 channel 2. |
| 13 | 3 | IO3 | safe | adc | J1 header. GPIO3; ADC1 channel 3. |
| 14 | - | 5V | power | - | J1 header. 5V input/output (USB VBUS). |
| 15 | - | GND | ground | - | J1 header. Ground. |
| 16 | - | NC | - | J1 header. Not connected. | |
| 17 | - | GND | ground | - | J3 header. Ground. |
| 18 | 16 | TXIO16U0TXD | uart | uart | J3 header. GPIO16; UART0 TX (default serial console). |
| 19 | 17 | RXIO17U0RXD | uart | uart | J3 header. GPIO17; UART0 RX (default serial console). |
| 20 | 15 | IO15 | strapping | - | J3 header. GPIO15; strapping pin (JTAG signal source select). |
| 21 | 23 | IO23 | safe | - | J3 header. GPIO23; SDIO data 3. |
| 22 | 22 | IO22 | safe | - | J3 header. GPIO22; SDIO data 2. |
| 23 | 21 | IO21 | safe | - | J3 header. GPIO21; SDIO data 1. |
| 24 | 20 | IO20 | safe | - | J3 header. GPIO20; SDIO data 0. |
| 25 | 19 | IO19 | strapping | - | J3 header. GPIO19; SDIO clock. |
| 26 | 18 | IO18 | strapping | - | J3 header. GPIO18; SDIO command. |
| 27 | 9 | IO9 | strapping | - | J3 header. GPIO9; strapping pin (boot mode). |
| 28 | - | GND | ground | - | J3 header. Ground. |
| 29 | 13 | IO13 | uart | - | J3 header. GPIO13; USB D+ (native USB / USB-Serial-JTAG). |
| 30 | 12 | IO12 | uart | - | J3 header. GPIO12; USB D- (native USB / USB-Serial-JTAG). |
| 31 | - | GND | ground | - | J3 header. Ground. |
| 32 | - | NC | - | J3 header. Not connected. |
Start with these
10 pins with no boot or system involvementFreely 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| Pin | Label | What to know | Role |
|---|---|---|---|
| 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 |
| TX | U0TXD | Default UART0 transmit pin; using it may interfere with serial console or programming. | UART |
| RX | U0RXD | Default UART0 receive pin; using it may interfere with serial console or programming. | UART |
| IO15 | JTAG_SEL | Controls JTAG input source at boot; avoid altering its state. | JTAG |
| IO9 | GPIO9 | Pulling low on reset forces the ESP32-C6 into download mode instead of normal boot. | Strapping |
Only if you know the tricks
wired to flash or USB - expect a fight| Pin | Label | What to know | Role |
|---|---|---|---|
| IO19 | FSPID | Connected to internal flash; using as GPIO can disrupt flash operations. | Flash |
| IO18 | FSPIQ | Connected to internal flash; using as GPIO can disrupt flash operations. | Flash |
| IO13 | USB_D+ | Dedicated to USB communication; avoid if using USB functionality. | USB |
| IO12 | USB_D- | Dedicated to USB communication; avoid if using USB functionality. | USB |
Pinout notes Across 32 pins (2.54 mm pitch), the Espressif ESP32-C6-DevKitC-1 exposes 23 GPIO plus 3V3 , 5V and GND for power. For peripherals, TX / RX on GPIO16 and GPIO17…
Across 32 pins (2.54 mm pitch), the Espressif ESP32-C6-DevKitC-1 exposes 23 GPIO plus 3V3, 5V and GND for power.
For peripherals, TX/RX on GPIO16 and GPIO17 cover serial logging and flashing.
On the analog side there are 7 ADC-capable pins for sensors and battery monitoring.
If you want zero surprises, IO0, IO1, IO10, IO11 and 6 more are free of any such role - the safest first picks. 9 of the exposed pins carry boot-time or system duties on the ESP32-C6 (IO4, IO5, IO6 and 6 more).
Getting started
flash your first firmware in ~2 minutesBoard: Esp32 C6 Devkitc 1
Flash Size: 8MB · DIO
Upload Speed: 921600
// blink
pinMode(0, OUTPUT);
digitalWrite(0, LOW); // on (often inverted)[env:esp32-c6-devkitc-1]
platform = espressif32
board = esp32-c6-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600esp32:
board: esp32-c6-devkitc-1
variant: esp32_c6_devkitc_1
framework:
type: esp-idf
# blink - GPIO0
output:
- platform: gpio
pin: 0
id: led_out
light:
- platform: binary
name: "LED"
output: led_outesptool.py --chip esp32c6 --port /dev/ttyACM0 \
write_flash 0x0 firmware.binSpecifications
ESP32-C6 · 51.8 × 25.4 mmAbout this board
At its core is the ESP32-C6 - a RISC-V part adding Wi-Fi 6 plus Thread/Zigbee radios.
Expect to pay about $10.00 - in line with other ESP32-C6 boards.
Onboard you'll find an addressable RGB LED (GPIO8) and Boot/Reset buttons.
Where to buy
prices are typical street prices
Resources
Similar boards




