Seeed XIAO ESP32-C6: Unleash RISC-V Power with Wi-Fi 6 and Bluetooth 5
The Seeed XIAO ESP32-C6 is a compact development board featuring the RISC-V based ESP32-C6 SoC, bringing Wi-Fi 6 and Bluetooth 5.2 LE to your projects.
The Seeed XIAO ESP32-C6 is a tiny yet powerful microcontroller board designed for makers, students, and embedded engineers who need advanced wireless connectivity and processing power in a small form factor. It's part of Seeed Studio's popular XIAO series, known for its compact size and rich features, making it ideal for wearable devices, IoT prototypes, and space-constrained applications. This board is built around the Espressif ESP32-C6 System-on-Chip (SoC), which represents a significant step forward in the ESP32 family.
At the heart of the XIAO ESP32-C6 is the Espressif ESP32-C6 SoC, a powerhouse that integrates a 32-bit RISC-V single-core processor. This processor is complemented by a rich set of peripherals and, crucially, support for the latest wireless standards: Wi-Fi 6 (802.11ax) and Bluetooth 5.2 with Bluetooth Low Energy (BLE). This combination offers higher throughput, lower latency, and improved power efficiency compared to previous Wi-Fi and Bluetooth generations, making it suitable for demanding IoT applications, real-time communication, and mesh networking.
The ESP32-C6 chip builds upon Espressif's legacy of providing versatile and cost-effective microcontrollers. While previous ESP32 chips focused on Wi-Fi and Bluetooth, the ESP32-C6 introduces Wi-Fi 6 capabilities and a RISC-V core, catering to a new generation of connected devices. This board is particularly well-suited for makers who are experimenting with next-generation IoT protocols, need robust wireless performance, or are interested in exploring the RISC-V architecture. Its small size and extensive feature set make it a compelling choice for both hobbyists and professionals alike.
The XIAO ESP32-C6 is designed for ease of use and rapid prototyping. It features a USB Type-C port for power and programming, onboard LEDs for status indication, and accessible pin headers that expose the SoC's extensive capabilities. The board's compatibility with popular development environments like the Arduino IDE and Espressif's ESP-IDF allows for a smooth learning curve and efficient development process. Whether you're building a smart home sensor, a wireless data logger, or a complex IoT gateway, the XIAO ESP32-C6 offers the performance and connectivity to bring your ideas to life.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Espressif ESP32-C6 |
| Architecture | 32-bit RISC-V single-core processor |
| Clock speed | Up to 160 MHz |
| Flash / Storage | 4MB onboard SPI Flash |
| RAM / SRAM | 512KB SRAM (including 16KB RTC SRAM) |
| Operating voltage | 3.3V |
| Digital I/O pins | 15 (shared with other functions) |
| Analog / ADC | 3x 12-bit SAR ADCs |
| PWM | Up to 6 channels (on various GPIOs) |
| Connectivity | Wi-Fi 802.11ax (Wi-Fi 6) 2.4 GHz, Bluetooth 5.2 (LE) |
| USB | 1x USB Type-C (for power and programming) |
| Power input | 5V via USB Type-C, or 3.3V via pin |
| Dimensions | 20mm x 17.5mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| 3V3 | 3.3V Power Output |
| GND | Ground |
| RST | Reset Pin |
| EN | Enable Pin (usually tied to RST) |
| D0 | GPIO0 (Boot mode selection) |
| D1 | GPIO1 (UART0 TX) |
| D2 | GPIO2 (UART0 RX) |
| D3 | GPIO3 |
| D4 | GPIO4 |
| D5 | GPIO5 |
| D6 | GPIO6 |
| D7 | GPIO7 |
| D8 | GPIO8 |
| D9 | GPIO9 |
| D10 | GPIO10 |
| D11 | GPIO11 |
| D12 | GPIO12 |
| D13 | GPIO13 |
| D14 | GPIO14 (ADC1_CH4) |
| D15 | GPIO15 (ADC1_CH5) |
| D16 | GPIO16 (ADC1_CH6) |
| D17 | GPIO17 (ADC1_CH7) |
| D18 | GPIO18 (I2C0 SDA) |
| D19 | GPIO19 (I2C0 SCL) |
| D20 | GPIO20 (SPI0 MOSI) |
| D21 | GPIO21 (SPI0 MISO) |
| D22 | GPIO22 (SPI0 SCK) |
| D23 | GPIO23 (SPI0 CS) |
| D24 | GPIO24 (UART1 TX) |
| D25 | GPIO25 (UART1 RX) |
| D26 | GPIO26 (PWM) |
| D27 | GPIO27 (PWM) |
| D28 | GPIO28 (PWM) |
| D29 | GPIO29 (PWM) |
| D30 | GPIO30 (PWM) |
| D31 | GPIO31 (PWM) |
| LED | Onboard LED (connected to GPIO2) |
Wiring & circuit basics
Powering the Seeed XIAO ESP32-C6 is straightforward via its USB Type-C port, which accepts a standard 5V supply. The board includes an onboard voltage regulator to step this down to the 3.3V required by the ESP32-C6 chip and its peripherals. You can also power the board by supplying 3.3V directly to the 3V3 pin, but ensure it's a stable 3.3V source. Avoid applying voltages higher than 3.3V to any GPIO pins, as this can damage the microcontroller. The board's GPIO pins operate at 3.3V logic levels.
When interfacing with external components, always consider their voltage requirements. If you are connecting a 5V device, such as many common LEDs or some sensors, you will need a level shifter to convert the 3.3V signals from the XIAO ESP32-C6 to 5V and vice-versa. For example, to blink an LED, connect a current-limiting resistor (typically 220-330 ohms) in series with the LED, and then connect the other end of the resistor to a digital GPIO pin (e.g., D26) and the LED's cathode to GND. This prevents excessive current from flowing through the GPIO pin.
For I2C communication, the XIAO ESP32-C6 provides dedicated SDA and SCL pins (D18 and D19 respectively). When connecting an I2C sensor, ensure it is also a 3.3V device or use a level shifter. Connect the sensor's VCC to the XIAO's 3V3 pin, GND to GND, SDA to D18, and SCL to D19. Remember that I2C typically requires pull-up resistors on both the SDA and SCL lines; while some sensors have these built-in, others may require external resistors (e.g., 4.7k Ohm) connected to the 3V3 pin.
Programming & getting started
The Seeed XIAO ESP32-C6 is highly versatile in its programming options. The most common and beginner-friendly approach is using the Arduino IDE. After installing the ESP32 board support package in the Arduino IDE, you can select the 'Seeed XIAO ESP32C6' board and upload code via the USB Type-C port. For more advanced users, Espressif's ESP-IDF (IoT Development Framework) provides a powerful C/C++ environment with extensive libraries and debugging capabilities. MicroPython and CircuitPython are also excellent choices for rapid prototyping and learning, offering a Pythonic way to interact with the hardware.
To get started with the Arduino IDE: 1. Install the Arduino IDE. 2. Go to File > Preferences and add `https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json` to the Additional Boards Manager URLs. 3. Go to Tools > Board > Boards Manager, search for 'esp32', and install the package. 4. Select 'Seeed XIAO ESP32C6' from the Tools > Board menu. 5. Connect the XIAO ESP32-C6 via USB. 6. Select the correct COM port under Tools > Port. 7. Upload a simple sketch, such as the 'Blink' example, to verify your setup.