ESP32-C6-DevKitC-1: Unleash RISC-V and Wi-Fi 6 on Your Next Project
A powerful development board featuring Espressif's RISC-V based ESP32-C6 SoC, offering Wi-Fi 6, Bluetooth 5 (LE), and Thread connectivity.
The ESP32-C6-DevKitC-1 is a versatile development board from Espressif Systems, designed to showcase the capabilities of their ESP32-C6 System-on-Chip (SoC). This board is an excellent choice for makers, students, and embedded engineers looking to explore the latest in wireless connectivity and low-power computing. It provides a convenient platform for prototyping and developing a wide range of IoT applications, from smart home devices to industrial sensors.
At the heart of the ESP32-C6-DevKitC-1 is the ESP32-C6 chip, a significant advancement in Espressif's lineup. It features a single-core 32-bit RISC-V processor running at up to 160 MHz, making it an efficient and capable microcontroller. What sets the ESP32-C6 apart is its integrated support for Wi-Fi 6 (802.11ax), Bluetooth 5 (LE), and IEEE 802.15.4, which enables Thread and Zigbee connectivity. This makes it ideal for building robust and future-proof smart home ecosystems and other connected devices.
Positioned as a successor to previous ESP32 generations, the ESP32-C6-DevKitC-1 brings enhanced performance and advanced wireless features. While earlier ESP32 chips focused on Wi-Fi and Bluetooth, the C6 adds Wi-Fi 6 for improved network efficiency and capacity, alongside the crucial 802.15.4 radio for Thread and Zigbee. This makes it a compelling option for developers looking to create devices that can participate in both IP-based networks (Wi-Fi) and low-power mesh networks (Thread/Zigbee), bridging different IoT communication standards.
This development board is particularly suited for makers and engineers interested in cutting-edge IoT technologies, especially those involving Wi-Fi 6, Thread, or Zigbee. Its RISC-V architecture offers a modern and efficient computing foundation. Whether you are building a smart lighting system, a connected sensor network, or experimenting with Matter, the ESP32-C6-DevKitC-1 provides the necessary hardware and connectivity options in an easy-to-use package.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | ESP32-C6 |
| Architecture | 32-bit RISC-V single-core processor |
| Clock speed | Up to 160 MHz |
| Flash / Storage | 4 MB integrated SPI flash |
| RAM / SRAM | 512 KB SRAM (including 16 KB RTC SRAM) |
| Operating voltage | 3.3V |
| Digital I/O pins | 22 (configurable) |
| Analog / ADC | 5 x 12-bit SAR ADCs |
| PWM | Up to 6 channels (configurable) |
| Connectivity | Wi-Fi 802.11ax (2.4 GHz), Bluetooth 5 (LE), IEEE 802.15.4 (2.4 GHz) for Thread/Zigbee |
| USB | USB Type-C for power and programming (via built-in USB-to-UART bridge) |
| Power input | 5V via USB Type-C, 3.3V via pin header |
| Dimensions | 75mm x 25mm (approx.) |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 | Power output (3.3V) |
| GND | Ground |
| EN | Reset pin (active low) |
| GPIO0 | General Purpose I/O, strapping pin |
| GPIO1 | General Purpose I/O, UART0 TXD |
| GPIO2 | General Purpose I/O, strapping pin |
| GPIO3 | General Purpose I/O, UART0 RXD |
| GPIO4 | General Purpose I/O |
| GPIO5 | General Purpose I/O, strapping pin |
| GPIO6 | General Purpose I/O |
| GPIO7 | General Purpose I/O |
| GPIO8 | General Purpose I/O |
| GPIO9 | General Purpose I/O |
| GPIO10 | General Purpose I/O |
| GPIO11 | General Purpose I/O |
| GPIO12 | General Purpose I/O |
| GPIO13 | General Purpose I/O |
| GPIO14 | General Purpose I/O |
| GPIO15 | General Purpose I/O |
| GPIO16 | General Purpose I/O, I2C SDA |
| GPIO17 | General Purpose I/O, I2C SCL |
| GPIO18 | General Purpose I/O, SPI MOSI |
| GPIO19 | General Purpose I/O, SPI MISO |
| GPIO20 | General Purpose I/O, SPI SCK |
| GPIO21 | General Purpose I/O, SPI CS |
| GPIO26 | General Purpose I/O, ADC1_CH0 |
| GPIO27 | General Purpose I/O, ADC1_CH1 |
| GPIO28 | General Purpose I/O, ADC1_CH2 |
| GPIO29 | General Purpose I/O, ADC1_CH3 |
| GPIO30 | General Purpose I/O, ADC1_CH4 |
| GPIO31 | General Purpose I/O |
| GPIO32 | General Purpose I/O |
| GPIO33 | General Purpose I/O |
| GPIO34 | General Purpose I/O |
| GPIO35 | General Purpose I/O |
| GPIO36 | General Purpose I/O |
| GPIO37 | General Purpose I/O |
| GPIO38 | General Purpose I/O |
| GPIO39 | General Purpose I/O |
| GPIO40 | General Purpose I/O |
| GPIO41 | General Purpose I/O |
| GPIO42 | General Purpose I/O |
| GPIO43 | General Purpose I/O |
| GPIO44 | General Purpose I/O |
| GPIO45 | General Purpose I/O |
| GPIO46 | General Purpose I/O |
| GPIO47 | General Purpose I/O |
| GPIO48 | General Purpose I/O |
| GPIO49 | General Purpose I/O |
| GPIO50 | General Purpose I/O |
| GPIO51 | General Purpose I/O |
| GPIO52 | General Purpose I/O |
| GPIO53 | General Purpose I/O |
| USB D- | USB Data Negative |
| USB D+ | USB Data Positive |
| 5V | Power input (5V from USB) |
Wiring & circuit basics
The ESP32-C6-DevKitC-1 is designed to be powered via its USB Type-C port, which supplies a stable 5V. This 5V is then regulated down to 3.3V on the board, which is the operating voltage for the ESP32-C6 SoC and most of its peripherals. You can also supply 3.3V directly to the 3V3 pin, but this bypasses the onboard regulator and should only be done if you are certain of the voltage and current capacity. Always ensure your power source can provide at least 500mA, and ideally 1A or more, to handle peak current draws, especially when Wi-Fi is active.
All GPIO pins on the ESP32-C6-DevKitC-1 operate at a 3.3V logic level. This means you must not connect 5V signals directly to any of the GPIO pins, as this can damage the chip. If you need to interface with 5V devices, use a logic level converter or a voltage divider circuit. For example, to connect an LED to a GPIO pin, you would connect the LED's anode to a GPIO pin (e.g., GPIO10) and its cathode through a current-limiting resistor (typically 220-330 ohms) to GND. This resistor prevents excessive current from flowing through the LED and the GPIO pin.
For I2C communication, the board typically exposes SDA on GPIO16 and SCL on GPIO17. To connect an I2C sensor, you would connect the sensor's SDA pin to GPIO16, its SCL pin to GPIO17, its VCC pin to the board's 3.3V pin, and its GND pin to the board's GND pin. Remember that I2C communication requires pull-up resistors on both SDA and SCL lines. While some sensors have these built-in, it's often necessary to add external 4.7k ohm pull-up resistors from each line (GPIO16 and GPIO17) to 3.3V.
Programming & getting started
The ESP32-C6-DevKitC-1 can be programmed using several popular toolchains. The Arduino IDE is a common choice for beginners, offering a simplified programming environment and a vast library of community-contributed code. You'll need to install the ESP32 board support package in the Arduino IDE to select the ESP32-C6. For more advanced users, Espressif's own ESP-IDF (Espressif IoT Development Framework) provides a comprehensive SDK and build system for C/C++ development, offering maximum control and performance. MicroPython and CircuitPython are also excellent options for rapid prototyping with Python.
To upload your first program (e.g., a 'Blink' sketch) using the Arduino IDE: 1. Connect the ESP32-C6-DevKitC-1 to your computer via USB. 2. Open the Arduino IDE and select the correct board (e.g., 'ESP32C6 Dev Module' under the ESP32 Arduino Core). 3. Choose the correct COM port associated with the development board. 4. Write or paste your code into the IDE. 5. Click the 'Upload' button. The board will typically enter bootloader mode automatically, or you may need to press the BOOT button (if available and mapped) while resetting the board using the EN button.