Espressif ESP32-C6-DevKitC-1 Development Board Pinout and Technical Specifications
Code name: ESP32_C6_DEVKITC_1
Manufacturer: Espressif
Espressif ESP32-C6-DevKitC-1 development board is based on esp32c6 microcontroller and uses riscv architecture. This development board has a maximum CPU frequency of 160 MHz and a flash size of 8MB.
π Price
π Espressif ESP32-C6-DevKitC-1 Description
The ESP32-C6-DevKitC-1 is an entry-level development board based on the ESP32-C6-WROOM-1(U) module, featuring an 8 MB SPI flash. This board integrates complete Wi-Fi 6, Bluetooth LE 5.0, Zigbee 3.0, and Thread 1.3 functionalities, making it ideal for IoT applications. It provides access to most of the I/O pins through pin headers on both sides, facilitating easy interfacing with peripherals and sensors.
π Espressif ESP32-C6-DevKitC-1 Specs
Below you can find the specifications of Espressif ESP32-C6-DevKitC-1, such as features, connectivity options, and Espressif ESP32-C6-DevKitC-1 technical specs.
β¨ Features
- 22 digital IO pins
- 16 external interrupt pins
- 6 analog input pins
- 6 PWM pins
π°οΈ Connectivity
- WiFi: 802.11 ax b/g/n (2.4 GHz)
- Bluetooth: 5.3
- BLE: 5.3
π Technical specs
Microcontroller | esp32c6 |
Clock Speed | 160 MHz |
Flash size | 8MB |
Architecture | riscv |
π Espressif ESP32-C6-DevKitC-1 Pinout
The ESP32-C6-DevKitC-1 pinout offers access to multiple GPIOs and communication interfaces. Key power pins include 3.3V and GND. It features dedicated UART pins (TX, RX), I2C pins (SDA, SCL), and SPI pins (MISO, MOSI, SCK, CS), allowing integration with various peripherals. ADC pins are available for analog input applications. The board supports PWM and other digital functions, making it highly adaptable for embedded projects.
β οΈ Pins to Avoid or Use with Caution
Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage. Below is a list of pins to avoid or use with caution, categorized for clarity:
- π οΈ Strapping Pins (Boot Mode & System Behavior) - These pins control boot behavior and flash voltage selection. Pulling them high or low at reset can impact boot mode selection, voltage settings, or debugging access. Avoid altering their state unless necessary.
- π JTAG Debugging Pins - JTAG is used for low-level debugging and programming. If JTAG is enabled, these pins must remain dedicated to it. Repurposing them as GPIO can disable JTAG debugging features.
- π USB Communication Pins - These pins are used for USB Serial/JTAG communication. If USB debugging or communication is required, they should not be reassigned as GPIO.
- β‘ Flash Memory & SPI Pins - Certain GPIOs are hardwired to SPI flash memory and PSRAM. Using them as standard GPIOs may result in system instability, corrupted storage, or boot failure.
- π‘ UART Serial Communication Pins - By default, these pins are used for serial debugging, console output, and firmware uploads. Repurposing them for general I/O may break UART programming or debugging capabilities.
PIN | Label | Reason | Function |
---|---|---|---|
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 |
IO9 | GPIO9 | Pulling low on reset forces the ESP32-C6 into download mode instead of normal boot. | π οΈ Strapping |
IO12 | USB_D- | Dedicated to USB communication; avoid if using USB functionality. | π USB |
IO13 | USB_D+ | Dedicated to USB communication; avoid if using USB functionality. | π USB |
IO15 | JTAG_SEL | Controls JTAG input source at boot; avoid altering its state. | π JTAG |
IO16 | U0TXD | Default UART0 transmit pin; using it may interfere with serial console or programming. | π‘ UART |
IO17 | U0RXD | Default UART0 receive pin; using it may interfere with serial console or programming. | π‘ UART |
IO18 | FSPIQ | Connected to internal flash; using as GPIO can disrupt flash operations. | β‘ Flash |
IO19 | FSPID | Connected to internal flash; using as GPIO can disrupt flash operations. | β‘ Flash |
π Key Takeaway:
- Before using any GPIO, check if it is assigned a critical function.
- Avoid using bootstrapping pins unless you're modifying boot behavior intentionally.
- If JTAG debugging is needed, ensure its pins remain free.
- USB and Flash-related GPIOs should remain dedicated unless you disable their default functions.
β Pins Safe to use
- πΉ IO0
- πΉ IO1
- πΉ IO2
- πΉ IO3
- πΉ IO10
- πΉ IO11
- πΉ IO20
- πΉ IO21
- πΉ IO22
- πΉ IO23
Unlike restricted pins, these GPIOs are not tied to essential system functions like π οΈ bootstrapping, π USB communication, π JTAG debugging, or β‘ SPI flash memory, making them the best choices for custom applications and general use.
Why Are These Pins Safe?- Not involved in bootstrapping β These GPIOs do not affect the deviceβs boot mode or system startup.
- Not linked to flash memory or PSRAM β They wonβt interfere with storage or memory access.
- Not dedicated to USB or JTAG β They remain free for general use without affecting debugging or programming.
- No special hardware connections β Unlike some pins that are internally wired to system functions, these remain freely assignable.
πΊοΈ Espressif ESP32-C6-DevKitC-1 External Pins Mapping Functions
Below you can find the Espressif ESP32-C6-DevKitC-1 pinout. This development board provides 22 digital IO pins, out of which 16 can be used as an external interrupt pins , 6 as analog input pins and 6 pins have Pulse-Width Modulation (PWM) .
Pin | Function | ESP Pin | Input/Output | Description |
---|---|---|---|---|
1 | 5V | 5V | POWER INPUT | 5V power input for the board |
2 | GND | GND | POWER GROUND | Ground connection |
3 | 3V3 | 3.3V | POWER OUTPUT | 3.3V power output for peripherals |
4 | TX | TX | TX | TX |
5 | RX | RX | RX | RX |
6 | IO0 | GP0 | BIDIRECTIONAL | GPIO, ADC pin |
7 | IO1 | GP1 | BIDIRECTIONAL | GPIO, ADC pin |
8 | IO2 | GP2 | BIDIRECTIONAL | GPIO, ADC pin |
9 | IO3 | GP3 | BIDIRECTIONAL | GPIO, ADC pin |
10 | IO4 | GP4 | BIDIRECTIONAL | GPIO, ADC pin |
11 | IO5 | GP5 | BIDIRECTIONAL | GPIO, ADC pin |
12 | IO6 | GP6 | BIDIRECTIONAL | GPIO, ADC pin |
13 | IO7 | GP7 | BIDIRECTIONAL | GPIO |
14 | IO8 | GP8 | BIDIRECTIONAL | GPIO, RGB LED, BOOT, ROM |
15 | IO9 | GP9 | BIDIRECTIONAL | GPIO, BOOT |
16 | IO10 | GP10 | BIDIRECTIONAL | GPIO |
17 | IO11 | GP11 | BIDIRECTIONAL | GPIO |
18 | IO12 | GP12 | BIDIRECTIONAL | GPIO, USB_D- |
19 | IO13 | GP13 | BIDIRECTIONAL | GPIO, USB_D+ |
20 | IO15 | GP15 | BIDIRECTIONAL | GPIO, JTAG |
21 | IO16 | GP16 | BIDIRECTIONAL | GPIO |
22 | IO17 | GP17 | BIDIRECTIONAL | GPIO |
23 | IO18 | GP18 | BIDIRECTIONAL | GPIO |
24 | IO19 | GP19 | BIDIRECTIONAL | GPIO |
25 | IO20 | GP20 | BIDIRECTIONAL | GPIO |
26 | IO21 | GP21 | BIDIRECTIONAL | GPIO |
27 | IO22 | GP22 | BIDIRECTIONAL | GPIO |
28 | IO23 | GP23 | BIDIRECTIONAL | GPIO |
πΊοΈ Espressif ESP32-C6-DevKitC-1 Pins Mapping Arduino IDE
Below you can find the Espressif ESP32-C6-DevKitC-1 pinout. This development board provides 22 digital IO pins, out of which 16 can be used as an external interrupt pins , 6 as analog input pins and 6 pins have Pulse-Width Modulation (PWM) .
Pin | Analog | Touch | PWM | Other |
---|---|---|---|---|
0 | A0 | T0 | PWM | |
1 | A1 | T1 | PWM | |
2 | A2 | T2 | PWM | |
3 | A3 | T3 | PWM | |
4 | A4 | T4 | PWM | |
5 | PWM | |||
6 | PWM | |||
7 | PWM | |||
8 | PWM | |||
9 | PWM | |||
10 | PWM | |||
11 | PWM | |||
12 | PWM | |||
13 | PWM | |||
14 | PWM | |||
15 | PWM | |||
16 | PWM | |||
17 | PWM | |||
18 | PWM | |||
19 | PWM | |||
20 | PWM | |||
21 | PWM |
π οΈ Default Tools
Bootloader tool | esptool_py |
Uploader tool | esptool_py |
Network uploader tool | esp_ota |
Bootloader address | 0x1000 |
Flash mode | dio |
Boot mode | dio |
PSRAM type | |
Maximum upload size | 2048 Kb (2097152 B) |
Maximum data size | 320 Kb (327680 B) |
The Espressif ESP32-C6-DevKitC-1 development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x1000". Flash mode and boot mode for Espressif ESP32-C6-DevKitC-1 development board by default is dio and dio respectively.