MakerLab
ESP32Seeed XIAO ESP32-C6

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.

Seeed XIAO ESP32-C6

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 / SoCEspressif ESP32-C6
Architecture32-bit RISC-V single-core processor
Clock speedUp to 160 MHz
Flash / Storage4MB onboard SPI Flash
RAM / SRAM512KB SRAM (including 16KB RTC SRAM)
Operating voltage3.3V
Digital I/O pins15 (shared with other functions)
Analog / ADC3x 12-bit SAR ADCs
PWMUp to 6 channels (on various GPIOs)
ConnectivityWi-Fi 802.11ax (Wi-Fi 6) 2.4 GHz, Bluetooth 5.2 (LE)
USB1x USB Type-C (for power and programming)
Power input5V via USB Type-C, or 3.3V via pin
Dimensions20mm x 17.5mm

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
RSTReset Pin
ENEnable Pin (usually tied to RST)
D0GPIO0 (Boot mode selection)
D1GPIO1 (UART0 TX)
D2GPIO2 (UART0 RX)
D3GPIO3
D4GPIO4
D5GPIO5
D6GPIO6
D7GPIO7
D8GPIO8
D9GPIO9
D10GPIO10
D11GPIO11
D12GPIO12
D13GPIO13
D14GPIO14 (ADC1_CH4)
D15GPIO15 (ADC1_CH5)
D16GPIO16 (ADC1_CH6)
D17GPIO17 (ADC1_CH7)
D18GPIO18 (I2C0 SDA)
D19GPIO19 (I2C0 SCL)
D20GPIO20 (SPI0 MOSI)
D21GPIO21 (SPI0 MISO)
D22GPIO22 (SPI0 SCK)
D23GPIO23 (SPI0 CS)
D24GPIO24 (UART1 TX)
D25GPIO25 (UART1 RX)
D26GPIO26 (PWM)
D27GPIO27 (PWM)
D28GPIO28 (PWM)
D29GPIO29 (PWM)
D30GPIO30 (PWM)
D31GPIO31 (PWM)
LEDOnboard 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.

Project ideas

Wi-Fi 6 Enabled Weather StationBuild a compact weather station that measures temperature, humidity, and air pressure, and transmits the data wirelessly using Wi-Fi 6 to a web server or cloud platform. This project utilizes the ESP32-C6's Wi-Fi capabilities and ADC pins for sensor readings.
Bluetooth 5.2 Low Energy BeaconCreate a BLE beacon that broadcasts sensor data or identification information. This is useful for proximity sensing, asset tracking, or interactive installations, showcasing the ESP32-C6's efficient Bluetooth LE features.
RISC-V IoT GatewayDevelop a small IoT gateway that aggregates data from multiple low-power sensors (e.g., using LoRa or other protocols) and forwards it to the internet via Wi-Fi 6. This project explores the ESP32-C6's processing power and wireless connectivity.
Smart Home Automation HubDesign a central hub for controlling smart home devices. The ESP32-C6 can act as a bridge, communicating with various devices via Wi-Fi or Bluetooth, and providing a user interface through a web server or mobile app.
Real-time Data VisualizerConnect a sensor (e.g., an accelerometer or a microphone) and stream its data in real-time over Wi-Fi 6 to a computer for visualization. This project highlights the ESP32-C6's ability to handle high-frequency data streams.
Wi-Fi 6 Network ScannerWrite a program to scan for and list available Wi-Fi 6 networks, including their signal strength and security protocols. This project is a great way to understand the capabilities of the ESP32-C6's Wi-Fi 6 radio.

Buying tips & gotchas

When purchasing the Seeed XIAO ESP32-C6, ensure you are buying from a reputable vendor to avoid counterfeit or lower-quality clones, although the XIAO series is generally well-supported. Be mindful of the 3.3V logic level; using 5V components directly with its GPIO pins without level shifting will likely cause damage. Always use appropriate current-limiting resistors for LEDs. For I2C devices, check if they require external pull-up resistors. Consider purchasing a small breadboard and jumper wires for easy prototyping, and perhaps a few common 3.3V sensors like DHT11/DHT22 (temperature/humidity) or BMP280 (pressure) to get started quickly.