Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

ESP32-C6-DevKitC-1

Interactive ESP32-C6-DevKitC-1 pinout with strapping, USB and RGB LED pins marked, Arduino IDE (core 3.x) and MicroPython setup, and a compile-checked RGB blink.

3.3 V logic

Community draft — report a mistake

CPURISC-V high-power core up to 160 MHz + low-power RISC-V core
Flash / SRAM8 MB (N8 module) / 512 KB
WirelessWi-Fi 6 (2.4 GHz), Bluetooth 5 LE, IEEE 802.15.4 (Thread, Zigbee)
USBUSB-Serial-JTAG port + a USB-UART bridge port
Logic level3.3 V — not 5 V tolerant
Typical price₹900–1,400 (indicative)

The ESP32-C6 is Espressif’s first chip with Wi-Fi 6 and an 802.15.4 radio, so one board can join a Thread or Zigbee network as well as your Wi-Fi — the building blocks of Matter smart-home devices.

The DevKitC-1 keeps the familiar Espressif layout: two headers, a BOOT and a RESET button, an addressable RGB LED on GPIO8, and two USB-C ports — one through a USB-UART bridge, one straight to the chip’s USB-Serial-JTAG.

Arduino support needs core 3.x. Most classic ESP32 sketches carry over; code that used the old LEDC or timer APIs from core 2.x needs the 3.x function names.

Interactive pinout

Hover or tap a pin for its functions and traps. Filter to light up every I2C, ADC or boot pin.

  • Safe for most uses
  • Works, with a caveat
  • Avoid unless you know why
  • Power / control

Strapping pins: GPIO 4, 5, 8, 9, 15. GPIO9 is the BOOT button and GPIO8 carries the RGB LED. Keep pull-ups, pull-downs and buttons off the strapping pins.

GPIO 12 and 13 are the USB port. They are the native USB data lines. Use them for anything else and the "USB" port stops working.

Default I2C is GPIO 23 (SDA) and 22 (SCL). Those, plus GPIO 18–21 for SPI, are the easiest free pins. ADC1 is on GPIO 0–6.

Set up your computer

  1. Install Arduino IDE 2.x from arduino.cc.
  2. File → Preferences → Additional boards manager URLs: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. Boards Manager → install esp32 by Espressif Systems (version 3.x — the C6 is not in 2.x) (we compile against esp32 3.3.12).
  4. Tools → Board → ESP32C6 Dev Module, then pick the port that appears when you plug the board in.

First program

Verified — core esp32 3.3.12, 3 Nov 2026Compile-only
blink-esp32-c6.inoArduino C++Open in PlaygroundOpen in PlaygroundFlash
// First program for the ESP32-C6-DevKitC-1: blink the on-board RGB LED on GPIO8.
// GPIO8 is a strapping pin, so the LED is the only thing that should be on it.
// Serial goes to the "UART" USB-C port at 115200 baud.
constexpr uint8_t RGB_PIN = 8;

void setup() {
  Serial.begin(115200);
  Serial.println("FlashReady: ESP32-C6 RGB blink");
}

void loop() {
  rgbLedWrite(RGB_PIN, 0, 30, 30);  // cyan, dim
  delay(500);
  rgbLedWrite(RGB_PIN, 0, 0, 0);    // off
  delay(500);
}

Components with ESP32-C6-DevKitC-1

Common errors

ESP32C6 Dev Module is not in the board list

Your esp32 core is 2.x. Update "esp32 by Espressif Systems" to 3.x in Boards Manager — the C6 needs it.

Serial output only appears on one USB port

With USB CDC On Boot disabled, Serial goes to the "UART" port. Enable it in Tools to print over the native "USB" port instead.

Timed out waiting for packet header

Hold BOOT, tap RESET, release BOOT, then upload. Full fix guide.

Projects for ESP32-C6-DevKitC-1

↑↓ to move · Enter to open