Espressif ESP32-C6-DevKitC-1

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

2× USB-C Native USB
Espressif ESP32-C6-DevKitC-1 board
51.8 × 25.4 mm
ESP32-C6
RISC-V MCU
160MHz
clock
8MB
flash
512KB
SRAM
23· 7 ADC
GPIO
BLE 5.3+ WiFi
radio
On this page

Pinout

32 pins · 2.54 mm pitch
View:
Espressif ESP32-C6-DevKitC-1 pinout diagram
PinGPIOLabelsStatusCapabilitiesNotes
1-3V33.3Vpower-J1 header. 3.3V regulated power output.
2-RSTENcontrol-J1 header. Chip enable/reset - high enables the chip, low disables it.
34IO4MTMSstrappingadcJ1 header. GPIO4; ADC1 channel 4; JTAG MTMS; LP GPIO/UART RXD.
45IO5MTDIstrappingadcJ1 header. GPIO5; ADC1 channel 5; JTAG MTDI; LP GPIO/UART TXD.
56IO6MTCKstrappingadcJ1 header. GPIO6; ADC1 channel 6; JTAG MTCK; LP I2C SDA.
67IO7MTDOstrapping-J1 header. GPIO7; JTAG MTDO; LP I2C SCL.
70IO0safeadcJ1 header. GPIO0; ADC1 channel 0; 32 kHz crystal input (XTAL_32K_P).
81IO1safeadcJ1 header. GPIO1; ADC1 channel 1; 32 kHz crystal input (XTAL_32K_N).
98IO8strapping-J1 header. GPIO8; drives the onboard addressable RGB LED; strapping pin (boot mode).
1010IO10safe-J1 header. GPIO10.
1111IO11safe-J1 header. GPIO11.
122IO2safeadcJ1 header. GPIO2; ADC1 channel 2.
133IO3safeadcJ1 header. GPIO3; ADC1 channel 3.
14-5Vpower-J1 header. 5V input/output (USB VBUS).
15-GNDground-J1 header. Ground.
16-NC-J1 header. Not connected.
17-GNDground-J3 header. Ground.
1816TXIO16U0TXDuartuartJ3 header. GPIO16; UART0 TX (default serial console).
1917RXIO17U0RXDuartuartJ3 header. GPIO17; UART0 RX (default serial console).
2015IO15strapping-J3 header. GPIO15; strapping pin (JTAG signal source select).
2123IO23safe-J3 header. GPIO23; SDIO data 3.
2222IO22safe-J3 header. GPIO22; SDIO data 2.
2321IO21safe-J3 header. GPIO21; SDIO data 1.
2420IO20safe-J3 header. GPIO20; SDIO data 0.
2519IO19safe-J3 header. GPIO19; SDIO clock.
2618IO18safe-J3 header. GPIO18; SDIO command.
279IO9strapping-J3 header. GPIO9; strapping pin (boot mode).
28-GNDground-J3 header. Ground.
2913IO13uart-J3 header. GPIO13; USB D+ (native USB / USB-Serial-JTAG).
3012IO12uart-J3 header. GPIO12; USB D- (native USB / USB-Serial-JTAG).
31-GNDground-J3 header. Ground.
32-NC-J3 header. Not connected.

Start with these

12 pins with no boot or system involvement
IO0IO1IO10IO11IO2IO3IO23IO22IO21IO20IO19IO18

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
TXU0TXDDefault UART0 transmit pin; using it may interfere with serial console or programming.UART
RXU0RXDDefault UART0 receive pin; using it may interfere with serial console or programming.UART
IO15JTAG_SELControls JTAG input source at boot; avoid altering its state.JTAG
IO9GPIO9Pulling 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
PinLabelWhat to knowRole
IO13USB_D+Dedicated to USB communication; avoid if using USB functionality.USB
IO12USB_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 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 8 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 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: "8MB (64Mb)"
Flash Mode: "DIO"
Partition Scheme: "8M with spiffs (3MB 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: 8MB (64Mb)
Flash Mode: DIO
Partition Scheme: 8M with spiffs (3MB 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-devkitc-1]
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 2097152 B · data 327680 B · DIO

Specifications

ESP32-C6 · 51.8 × 25.4 mm · vs other ESP32 chips →
Compute
MCU
ESP32-C6 · RISC-V
Clock
160 MHz
SRAM · Flash
512 KB · 8MB
Radio
Wi-Fi
802.11 ax b/g/n
Bluetooth
5.3 LE
Antenna
PCB
I/O
GPIO · ADC
23 · 7
UART · I²C · SPI
2 +1 LP · 1 +1 LP · 1
PWM
6 channels
Power
USB
USB-C (UART) · USB-C (native)
Serial
CP2102N
Boot address
0x0
Electrical
Input
5V USB
Consumption
-
Regulator
SGM2212
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
DIO · DIO
Sketch · Data
2 MB · 320 KB
25.4 mm51.8 mm
51.8 × 25.4 mm · pin pitch 2.54 mm
The Espressif ESP32-C6-DevKitC-1 uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is DIO with DIO boot mode. The maximum sketch size is 2 MB with 320 KB available for data.

About 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
Espressif ESP32-C6-DevKitC-1
Espressif ESP32-C6-DevKitC-1
$10.00per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards