

The XIAO ESP32C3 is a compact microcontroller board developed by Seeed. It is powered by the ESP32-C3 chip, which integrates Wi-Fi and Bluetooth Low Energy (BLE) capabilities. This board is designed for Internet of Things (IoT) applications, wearable devices, and rapid prototyping. Its small form factor and low power consumption make it ideal for space-constrained projects.








The following table outlines the key technical details 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 LE |
| Operating Voltage | 3.3V |
| Input Voltage Range | 5V (via USB-C) |
| GPIO Pins | 11 (including ADC, PWM, I2C, SPI, UART) |
| ADC Resolution | 12-bit |
| Dimensions | 21 x 17.5 mm |
| Power Consumption | Ultra-low power consumption in deep sleep mode |
| USB Interface | USB-C (supports programming and power supply) |
| Operating Temperature | -40°C to 85°C |
The XIAO ESP32C3 features a total of 11 GPIO pins, which are multifunctional. Below is the pinout description:
| Pin | Name | Function |
|---|---|---|
| 1 | 3V3 | 3.3V power output |
| 2 | GND | Ground |
| 3 | D0 | GPIO0, ADC, PWM, UART RX |
| 4 | D1 | GPIO1, ADC, PWM, UART TX |
| 5 | D2 | GPIO2, ADC, PWM |
| 6 | D3 | GPIO3, ADC, PWM |
| 7 | D4 | GPIO4, ADC, PWM |
| 8 | D5 | GPIO5, ADC, PWM |
| 9 | D6 | GPIO6, ADC, PWM |
| 10 | D7 | GPIO7, ADC, PWM |
| 11 | RST | Reset pin |
Powering the Board:
Programming the Board:
Connecting Peripherals:
The following example demonstrates how to blink an LED connected to GPIO2:
// Define the GPIO pin for the LED
const int ledPin = 2;
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 following example demonstrates how to connect the XIAO ESP32C3 to a Wi-Fi network:
#include <WiFi.h>
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
// Start the serial communication
Serial.begin(115200);
// Connect to Wi-Fi
Serial.print("Connecting to Wi-Fi");
WiFi.begin(ssid, password);
// Wait until connected
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Print the IP address once connected
Serial.println("\nConnected to Wi-Fi!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Add your main code here
}
The board is not detected by the computer:
Upload errors in Arduino IDE:
Wi-Fi connection fails:
By following this documentation, you can effectively utilize the XIAO ESP32C3 for your IoT and prototyping projects.