XIAO ESP32S3

A compact development board by Seeed Studio featuring the ESP32-S3, suitable for wearable and space-constrained applications.

USB-C Native USB
XIAO ESP32S3 board
21 × 17.8 mm
ESP32-S3
MCU
240MHz
clock
8MB
flash
512KB
SRAM
11· 9 ADC
GPIO
BLE 5.0+ WiFi
radio
On this page

Pinout

14 pins · 2.54 mm pitch
View:
XIAO ESP32S3 pinout diagramXIAO ESP32S3 pinout diagram (alternate view)
PinGPIOLabelsStatusCapabilitiesNotes
11D0A0GPIO1safeadc · pwm
22D1A1GPIO2safeadc · pwm
33D2A2GPIO3strappingadc · pwm
44D3A3GPIO4safeadc · pwm
55D4A4SDAGPIO5safeadc · pwm · i2c
66D5A5SCLGPIO6safeadc · pwm · i2c
743D6TXGPIO43strappinguart · pwm
8-5Vpower-5V power input/output
9-GNDground-
10-3V3power-3.3V power
119D10A10MOSIGPIO9strappingadc · pwm · spi
128D9A9MISOGPIO8safeadc · pwm · spi
137D8A8SCKGPIO7safeadc · pwm · spi
1444D7RXGPIO44strappinguart · pwm

Start with these

7 pins with no boot or system involvement
D0A0D1A1D3A3D4A4D5A5D9A9D8A8

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

Fine - with a little care

sampled at boot or shared with debug/serial
PinLabelWhat to knowRole
D2GPIO3Sampled at reset to select JTAG interface (USB Serial/JTAG controller vs. external pins). Improper use can disable external JTAG or alter debug interface.Strapping
D6U0TXD (GPIO43)Used for bootloader output and UART console logs. If repurposed, you will lose the default serial output (and programming via UART0).Other
D7U0RXD (GPIO44)Used for bootloader input (download mode via serial). If repurposed, you cannot use the default UART0 download mode for programming the chip.Other

Only if you know the tricks

wired to flash or USB - expect a fight
PinLabelWhat to knowRole
D10FSPIHDConnected to external flash (data/hold signal) on most modules. Not recommended for use as GPIO, since it must remain dedicated to flash communication.Flash
These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.
Pinout notes The XIAO ESP32S3 pinout brings out 14 pins at a 2.54 mm pitch - 11 usable GPIO alongside the 5V , GND and 3V3 power rails. Peripheral wiring is…

The XIAO ESP32S3 pinout brings out 14 pins at a 2.54 mm pitch - 11 usable GPIO alongside the 5V, GND and 3V3 power rails.

Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO5 and SCL on GPIO6; the SPI bus (MOSI, MISO, SCK) is broken out in full; TX/RX on GPIO43 and GPIO44 cover serial logging and flashing.

Beyond plain digital I/O you get 9 ADC-capable pins for sensors and battery monitoring and PWM on every GPIO.

3 of the exposed pins carry boot-time or system duties on the ESP32-S3 (D2, D6 and D7) - check the guidance above before wiring anything to them. D0, D1, D3, D4 and 3 more are free of any such role - the safest first picks.

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Native USB - no driver, no serial chip. Not detected? Hold BOOT while plugging in.
2
Flash with your tool
Arduino IDE, PlatformIO, ESPHome or esptool - copy the settings on the right.
3
Verify it runs
The blink example uses GPIO1 - swap for your board's LED pin if different.
Tools → Board settings Copy
Board:            Xiao Esp32s3
USB CDC On Boot:  Enabled
Flash Size:       8MB · QIO
Upload Speed:     921600

// blink
pinMode(1, OUTPUT);
digitalWrite(1, LOW);   // on (often inverted)
platformio.ini Copy
[env:xiao-esp32s3]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
device.yaml Copy
esp32:
  board: esp32-s3-devkitc-1
  variant: XIAO_ESP32S3
  framework:
    type: esp-idf

# blink - GPIO1
output:
  - platform: gpio
    pin: 1
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
shell Copy
esptool.py --chip esp32s3 --port /dev/ttyACM0 \
  write_flash 0x0 firmware.bin
Build details: sketch space 8388608 B · data 327680 B · QIO

Good to know

board-specific quirks worth 60 seconds
XIAO ESP32S3 illustration

Specifications

ESP32-S3 · 21 × 17.8 mm
Compute
MCU
ESP32-S3
Clock
240 MHz
SRAM · Flash
512 KB · 8MB · 8MB (OPI) PSRAM
Radio
Wi-Fi
802.11 b/g/n
Bluetooth
5.0 LE
Antenna
External
I/O
GPIO · ADC
11 · 9
UART · I²C · SPI
3 · 2 · 4
PWM
8 channels
Power
USB
USB-C
Serial
Native (CDC)
Boot address
0x0
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
QIO · QIO
Sketch · Data
8 MB · 320 KB
17.8 mm21 mm
21 × 17.8 mm · pin pitch 2.54 mm
The XIAO ESP32S3 uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is QIO with QIO boot mode. The maximum sketch size is 8 MB with 320 KB available for data.

About this board

At 21 × 17.8 mm it's among the smallest boards in the whole ESP32 family.

Inside sits the ESP32-S3 - a dual-core Xtensa with vector extensions suited to AI workloads.

At $13.00 it's cheaper than most ESP32-S3 boards, which usually run around $30.

The small footprint costs pins: 11 GPIO are broken out, versus 21 or so on a full-size board.

Around the module: 8MB (OPI) PSRAM, battery charging via Solder pads, status LEDs (User, Charge) and Reset/Boot buttons.

It flashes over native USB - no serial-converter driver needed, which isn't a given among ESP32-S3 boards.

  • Dual-core Xtensa LX7 processor with AI acceleration
  • Supports WiFi 4 and Bluetooth 5 (LE)
  • Ultra-small size (21x17.5 mm)

Where to buy

prices are typical street prices
XIAO ESP32S3
XIAO ESP32S3
$13.00per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards