Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.

XIAO ESP32C3

Interactive Seeed XIAO ESP32C3 pinout with strapping and BOOT pins marked, battery charging notes, Arduino IDE and PlatformIO setup, and a compile-checked first sketch.

3.3 V logic

Community draft — report a mistake

CPUESP32-C3, single RISC-V core, 160 MHz
Flash / SRAM4 MB / 400 KB
WirelessWi-Fi 4 + Bluetooth 5 LE, external U.FL antenna included
PowerLi-ion/Li-Po charging via BAT pads underneath
Size21 × 17.8 mm, 14 castellated pins
Typical price₹500–800 (indicative)

Seeed’s XIAO ESP32C3 is the smallest board in our list: an ESP32-C3 on a 21 × 18 mm module with castellated edges, so it can be soldered flat onto your own PCB or plugged into a breadboard.

It adds two things the cheap C3 SuperMini lacks — an external U.FL antenna for reliable Wi-Fi range, and a Li-ion charger wired to pads underneath, which makes it a natural choice for battery sensors and wearables.

Pins are labelled D0–D10 to match the other XIAO boards. The pinout below maps each one to its GPIO and marks D0/D8/D9 as strapping pins.

Interactive pinout

Hover or tap a pin for its functions and traps. Filter to light up every I2C, ADC or boot pin.

  • Safe for most uses
  • Works, with a caveat
  • Avoid unless you know why
  • Power / control

No user LED. The only LED is the charge indicator. The first sketch blinks an external LED on D10 through a 220 Ω resistor.

D0, D8 and D9 are strapping pins. D9 is also the BOOT button. Keep pull-downs and buttons off them at reset.

Fit the antenna before using Wi-Fi. Without the supplied U.FL antenna the range drops to a few metres. Connect it before testing Wi-Fi or Bluetooth.

Set up your computer

  1. Install Arduino IDE 2.x from arduino.cc.
  2. File → Preferences → Additional boards manager URLs: https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. Boards Manager → install esp32 by Espressif Systems (we compile against esp32 3.3.12).
  4. Tools → Board → XIAO_ESP32C3, then pick the port that appears when you plug the board in.

First program

Verified — core esp32 3.3.12, 3 Nov 2026Compile-only
blink-xiao-c3.inoArduino C++Open in PlaygroundOpen in PlaygroundFlash
// First program for the Seeed XIAO ESP32C3. The board has no user LED, so wire one:
//   D10 → 220 Ω resistor → LED anode, LED cathode → GND.
// Serial runs over the native USB port at 115200 baud.
constexpr uint8_t LED_PIN = D10;

void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  Serial.println("FlashReady: XIAO ESP32C3 blink");
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

Components with XIAO ESP32C3

Common errors

Board not detected after a bad sketch

Hold BOOT while plugging in USB to force download mode, then upload a working sketch.

Battery does not charge

Charging only works with USB connected and a single-cell 3.7 V Li-ion/Li-Po on the BAT pads with the right polarity. A full battery leaves the charge LED off.

Serial Monitor prints nothing

Add a short delay (or while (!Serial) with a timeout) after Serial.begin() — native USB takes a moment to enumerate.

Projects for XIAO ESP32C3

↑↓ to move · Enter to open