

The XIAO ESP32C3 is a compact and powerful microcontroller board developed by Seeed Studio. It is based on the ESP32-C3 chip, which features integrated Wi-Fi and Bluetooth Low Energy (BLE) capabilities. This board is designed for IoT (Internet of Things) applications, offering a small form factor, low power consumption, and robust wireless connectivity. Its versatility makes it suitable for a wide range of projects, including smart home devices, wearable electronics, and wireless sensor networks.








The following table outlines the key technical specifications of the XIAO ESP32C3:
| Specification | Details |
|---|---|
| Microcontroller | ESP32-C3 RISC-V single-core processor |
| Clock Speed | Up to 160 MHz |
| Flash Memory | 4 MB |
| SRAM | 400 KB |
| Wireless Connectivity | Wi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 5.0 BLE |
| Operating Voltage | 3.3V |
| Input Voltage Range | 5V (via USB-C) |
| GPIO Pins | 11 (including ADC, PWM, I2C, SPI, UART) |
| USB Interface | USB-C (supports programming and power supply) |
| Dimensions | 21 x 17.5 mm |
| Power Consumption | Ultra-low power consumption in deep sleep mode (as low as 44 µA) |
| Operating Temperature | -40°C to 85°C |
The XIAO ESP32C3 features 11 GPIO pins with multiple functionalities. The pinout is as follows:
| Pin | Name | Function(s) | Description |
|---|---|---|---|
| 1 | 3V3 | Power | 3.3V power output |
| 2 | GND | Ground | Ground connection |
| 3 | D0 | GPIO0, ADC, UART RX | General-purpose I/O, analog input, UART receive |
| 4 | D1 | GPIO1, ADC, UART TX | General-purpose I/O, analog input, UART transmit |
| 5 | D2 | GPIO2, PWM, I2C SDA | General-purpose I/O, PWM, I2C data line |
| 6 | D3 | GPIO3, PWM, I2C SCL | General-purpose I/O, PWM, I2C clock line |
| 7 | D4 | GPIO4, SPI CS | General-purpose I/O, SPI chip select |
| 8 | D5 | GPIO5, SPI CLK | General-purpose I/O, SPI clock |
| 9 | D6 | GPIO6, SPI MOSI | General-purpose I/O, SPI master out/slave in |
| 10 | D7 | GPIO7, SPI MISO | General-purpose I/O, SPI master in/slave out |
| 11 | RST | Reset | Resets the microcontroller |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Uploading Code:
The following example demonstrates how to blink an LED connected to GPIO2 (D2):
// Define the pin for the LED
const int ledPin = 2; // GPIO2 (D2) on the XIAO ESP32C3
void setup() {
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(ledPin, LOW);
delay(1000); // Wait for 1 second
}
The board is not detected by the computer:
Code upload fails:
Wi-Fi or Bluetooth is not working:
Peripherals are not responding:
Q: Can I power the XIAO ESP32C3 with a battery?
A: Yes, you can power the board using a 3.7V LiPo battery connected to the 3V3 and GND pins. Ensure proper voltage regulation.
Q: Is the XIAO ESP32C3 compatible with Arduino libraries?
A: Yes, the XIAO ESP32C3 is compatible with most Arduino libraries, especially those designed for ESP32-based boards.
Q: How do I reset the board?
A: Press the reset button (RST) on the board to restart the microcontroller.
Q: Can I use the XIAO ESP32C3 for machine learning applications?
A: Yes, the ESP32-C3 chip supports lightweight machine learning models, making it suitable for edge AI applications.