The XIAO ESP32-C3 from Seeed Studio is the smallest production-ready ESP32 board available today, and it has rapidly become the preferred choice for wearable electronics, compact IoT nodes, and space-constrained embedded projects among Indian makers and hardware engineers. Measuring just 21mm x 17.5mm — smaller than a postage stamp — the XIAO ESP32-C3 packs a RISC-V single-core processor running at 160MHz, built-in WiFi and Bluetooth 5, and 2MB PSRAM into a form factor that fits almost anywhere.
Board Overview and Key Specifications
Seeed Studio’s XIAO series has become synonymous with ultra-compact microcontroller boards in the global maker community. The XIAO ESP32-C3 is the ESP32 entry in this lineup and brings full wireless capability to the tiny XIAO form factor for the first time. Here are the complete specifications:
| Specification | Detail |
|---|---|
| Processor | ESP32-C3, 32-bit RISC-V single-core @ 160MHz |
| RAM | 400KB SRAM + 2MB PSRAM |
| Flash | 4MB |
| WiFi | 802.11 b/g/n 2.4GHz |
| Bluetooth | Bluetooth 5.0 + BLE |
| GPIO Pins | 11 (including 1 ADC, I2C, SPI, UART, PWM) |
| Board Size | 21mm x 17.5mm |
| USB | Type-C (USB 2.0, full-speed) |
| Power Input | 5V via USB-C or 3.7V LiPo via JST 1.25mm connector |
| Battery Charging | Yes, via on-board 50mA charger |
| Operating Voltage | 3.3V (internal 3.3V LDO) |
| Deep Sleep Current | ~44µA |
| Active Current | ~100mA (with WiFi active) |
| Antenna | Built-in ceramic antenna (no external needed) |
The built-in USB-C with native USB support (no separate USB-to-serial chip required) is a significant advantage over older ESP32 boards that rely on CH340 or CP2102 chips. This reduces board size, cost, and eliminates driver issues on modern operating systems.
Ai Thinker ESP32-C3-01M Wi-Fi + BLE Module
The compact ESP32-C3 module from Ai Thinker — same RISC-V core as XIAO in a stampable SMD module form for custom PCB wearable designs.
RISC-V vs Xtensa: What Changes for Developers
The ESP32-C3 is Espressif’s first RISC-V based chip, replacing the Xtensa LX6 core used in the original ESP32, ESP32-S2, and ESP32-S3. For most makers and developers, this change is completely transparent — you still write Arduino code the same way, use the same Arduino core (esp32 by Espressif Systems), and upload via the same USB connection.
There are a few practical differences worth noting:
- Single core only: The ESP32-C3 has one CPU core, not two. FreeRTOS tasks still work, but you cannot pin tasks to Core 0 vs Core 1 as you can on the dual-core ESP32.
- No Bluetooth Classic: Only BLE (Bluetooth Low Energy) is supported. If your project needs Bluetooth SPP (serial port profile) for HC-05/HC-06 replacement functionality, you need a dual-core ESP32 with classic BT.
- 160MHz maximum: The classic ESP32 runs at 240MHz. For most IoT tasks this difference is imperceptible, but heavy DSP or cryptography workloads will be notably slower.
- Exception decoder compatibility: The RISC-V backtrace format differs from Xtensa. Ensure you use the ESP32 Exception Decoder version 3.0+ for correct C3 backtrace decoding.
On the positive side, the ESP32-C3’s RISC-V core has better power efficiency at lower clock speeds, making it excellent for battery-powered applications where you scale back to 80MHz or 40MHz to save power.
XIAO ESP32-C3 Pinout and GPIO Guide
Despite its tiny size, the XIAO ESP32-C3 exposes 11 GPIO pins across two rows of castellated holes and through-hole pads. Here is the complete pin breakdown:
| XIAO Pin Label | ESP32-C3 GPIO | Functions |
|---|---|---|
| D0 / A0 | GPIO2 | ADC1_CH2, PWM |
| D1 / A1 | GPIO3 | ADC1_CH3, PWM |
| D2 / A2 | GPIO4 | ADC1_CH4, SPI MISO |
| D3 / A3 | GPIO5 | ADC2_CH0, SPI MOSI, JTAG TMSN |
| D4 / SDA | GPIO6 | I2C SDA, SPI CLK |
| D5 / SCL | GPIO7 | I2C SCL, SPI CS |
| D6 / TX | GPIO21 | UART0 TX |
| D7 / RX | GPIO20 | UART0 RX, USB D+ |
| D8 / SCK | GPIO8 | SPI SCK, I2S |
| D9 / MISO | GPIO9 | SPI MISO, Boot pin |
| D10 / MOSI | GPIO10 | SPI MOSI |
Important GPIO-9 note: GPIO9 is the boot pin. It has an internal pull-up at boot. If you connect an external pull-down to this pin (e.g., a button connecting it to GND), hold it HIGH during programming; otherwise the board enters download mode instead of running your sketch.
Wearable Design Considerations
The XIAO ESP32-C3 excels in wearable applications because of its combination of tiny size, USB-C for charging, and native LiPo battery support. Here are the key considerations for wearable designs:
Enclosure and PCB Integration
The XIAO’s castellated edge pads allow it to be directly soldered onto a custom PCB as a module — no headers required. This keeps the total assembly height minimal. Seeed Studio provides a footprint library (KiCad and Eagle) for easy PCB integration. The total height with the XIAO and a thin LiPo (3mm thick) is under 8mm, making it viable for watch-style wearables.
Antenna Clearance
The ceramic antenna is on the long edge of the XIAO (opposite the USB-C connector). Seeed Studio recommends keeping at least 3.14mm clearance below the antenna in any host PCB keepout area. Placing ground planes or metal directly under the antenna degrades WiFi range significantly. For wrist-worn devices, position the antenna away from the user’s body when possible, as skin absorbs 2.4GHz signals.
EMI and Signal Integrity
For wearables near medical devices or hearing aids, keep WiFi transmission duty cycles low. Use BLE advertising (which uses very short burst transmissions) in preference to continuous WiFi connections. Enable power saving mode: WiFi.setSleep(true); for passive WiFi applications.
Ai-Thinker ESP32-C3-12F Wi-Fi + BLE Module
Compact ESP32-C3 module with PCB antenna — ideal for wearable PCB designs where SMD mounting saves more space than a header-based dev board.
Battery Integration and Power Management
The XIAO ESP32-C3 has a JST 1.25mm 2-pin connector for a single-cell LiPo battery (3.7V). The on-board charging IC charges at 50mA when USB-C is connected. This is conservative — a 300mAh cell takes about 6 hours to charge fully — but safe for very small LiPo cells used in wearables (100–500mAh range).
For longer battery life in wearable applications, the deep sleep current of ~44µA is the key metric. A 100mAh LiPo can theoretically power the board in deep sleep for over 2,000 hours (about 83 days). In practice, a typical wearable that wakes every 10 minutes to take a sensor reading and transmit via BLE will achieve 7–14 days on a 200mAh cell.
To enter deep sleep in Arduino:
#include <esp_sleep.h>
void setup() {
// Do work here (read sensors, send BLE beacon)
readAndSend();
// Sleep for 10 minutes (in microseconds)
esp_sleep_enable_timer_wakeup(10ULL * 60 * 1000000);
esp_deep_sleep_start();
}
void loop() {
// Never reached — setup runs fresh after each wakeup
}
Note that with deep sleep, the entire sketch runs from setup() after each wakeup. Variables are not preserved (unless stored in RTC memory using RTC_DATA_ATTR).
Getting Started with Arduino IDE and PlatformIO
Arduino IDE Setup
- Open Arduino IDE → File → Preferences
- Add
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonto Additional Boards URLs - Tools → Board Manager → Install “esp32 by Espressif Systems” (version 2.x or higher)
- Select Tools → Board → ESP32C3 Dev Module
- Important: Tools → USB CDC On Boot → Enabled (required for Serial over USB-C without a separate CH340/CP2102 chip)
- Connect XIAO via USB-C. It should appear as a COM port (Windows) or /dev/ttyACM0 (Linux/Mac)
PlatformIO Setup
[env:seeed_xiao_esp32c3]
platform = espressif32
board = seeed_xiao_esp32c3
framework = arduino
build_flags = -DARDUINO_USB_CDC_ON_BOOT=1
monitor_speed = 115200
Waveshare ESP32-C3 0.71inch Round Display Development Board
The ESP32-C3 with an integrated tiny round display — perfect for wearable UI projects that need a small screen without extra wiring complexity.
Project Ideas for XIAO ESP32-C3
The XIAO ESP32-C3’s combination of tiny size, WiFi/BLE, and battery support opens up an exciting range of projects particularly relevant to Indian makers:
1. Smart Health Band (Indian Market)
Pair the XIAO with a MAX30102 pulse oximeter and MLX90614 skin temperature sensor for a 2-in-2 health monitor. BLE transmits data to a smartphone app. The entire assembly fits a 25mm wide wrist strap. Highly relevant post-COVID for home health monitoring.
2. Asset Tracker for Indian Logistics
Small parcels, tools, and equipment can be tracked with a XIAO ESP32-C3 + GPS module (ATGM332D) + SIM800L module. The XIAO handles data aggregation and WiFi upload when in range. Battery-powered operation in a 3D-printed case fits inside packaging.
3. Smart Plant Sensor Badge
Clip-on plant sensor with capacitive soil moisture + temperature + humidity. BLE advertising broadcasts readings every 30 seconds. Compatible with Home Assistant, ESPHome, and custom dashboards.
4. Industrial Wireless Sensor Node
For Indian factory floors and warehouses, a XIAO ESP32-C3 with BME280 (temperature/pressure/humidity) fits into a standard 40mm junction box. WiFi connects to MQTT broker for real-time monitoring in power plants, pharmaceutical clean rooms, and food processing facilities.
5. Festival Electronics (Diwali / Navratri)
India’s festival culture drives demand for smart wearable lights. A XIAO controlling addressable LED strips (WS2812B) via BLE, with battery life of 8+ hours, is ideal for garba/dandiya costumes and Diwali light accessories.
Frequently Asked Questions
Q1. Is the XIAO ESP32-C3 compatible with XIAO shields and accessories?
Yes. Seeed Studio designed the XIAO ESP32-C3 to be pin-compatible with other XIAO boards (XIAO SAMD21, XIAO RP2040, XIAO nRF52840). XIAO-specific expansion boards, Grove shields, and cases work with the C3. However, the software libraries differ — make sure you are using ESP32-specific libraries, not SAMD or RP2040 ones.
Q2. Can the XIAO ESP32-C3 run ESPHome for Home Assistant integration?
Yes. ESPHome added official support for the ESP32-C3 in version 2022.6. You can use the XIAO as a wireless sensor node in Home Assistant via ESPHome with minimal configuration. BLE tracking (via bluetooth_tracker or ESPresense) is also supported.
Q3. What is the difference between XIAO ESP32-C3 and XIAO ESP32-S3?
The ESP32-S3 variant is larger (21mm x 17.8mm — almost identical size) but features a dual-core Xtensa LX7 processor at 240MHz, 8MB PSRAM, and camera interface support. Choose the C3 for battery-powered projects needing maximum efficiency; choose the S3 for compute-intensive tasks like TinyML, image processing, or camera integration.
Q4. Why does my XIAO ESP32-C3 not appear as a serial port on Windows?
The XIAO ESP32-C3 uses native USB (no CH340/CP2102). Windows requires the USB CDC driver rather than a serial bridge driver. On Windows 10/11 this installs automatically. If not, install the WinUSB driver via Zadig. Also ensure “USB CDC On Boot: Enabled” is selected in Arduino IDE board settings.
Q5. Is the XIAO ESP32-C3 waterproof / suitable for outdoor wearable projects?
The bare XIAO board is not waterproof. For outdoor wearables, coat the board with conformal coating spray (available at most Indian electronics stores) after soldering to protect against sweat and light rain. For full waterproofing, use a sealed 3D-printed enclosure with cable glands for the antenna area. The USB-C port should face inward or be sealed when not in use.
Shop ESP32-C3 Boards and Modules at Zbotic
Explore a wide range of ESP32-C3 modules, XIAO-compatible accessories, sensors, and battery shields for your next wearable project — delivered fast across India.
Add comment