Skip to content
My Account

Reference

Seeed Studio XIAO ESP32S3 Pinout

The Seeed Studio XIAO ESP32S3 and Sense pin reference: every pin with its GPIO, camera, microphone and SD pins, power and battery, and the traps and pin conflicts in the documentation.

  • ESP32-S3R8
  • 240 MHz
  • 8 MB flash
  • 8 MB PSRAM
No ratings yet, be the first.

The Seeed Studio XIAO ESP32S3 is the S3 version of the XIAO family: the same 21 × 17.8 mm thumb-sized board, but with a dual-core ESP32-S3R8 at 240 MHz, 8 MB of flash, 8 MB of PSRAM and native USB. The Sense version adds a camera connector with a camera module, a digital microphone and a microSD slot on a plug-in expansion board. A Plus version exists with more pins and 16 MB of flash.

This guide covers the base board and the Sense. It lists every pin with its GPIO, the camera, microphone and SD pins, power and battery, flashing, code and the traps. The pin data comes from the Seeed Studio wiki, and the chip limits from the Espressif ESP32-S3 datasheet. The Seeed wiki contradicts itself in a few places, and this guide says where.

System-on-chip and board

The ESP32-S3R8 is a dual-core Xtensa LX7 chip at up to 240 MHz with Wi-Fi 4, Bluetooth 5 LE, native USB and a camera interface. The “R8” means 8 MB of PSRAM is stacked in the package. There is no classic Bluetooth, no 5 GHz Wi-Fi and no 802.15.4 radio.

ItemValue
ChipESP32-S3R8, dual-core Xtensa LX7, up to 240 MHz
Memory8 MB PSRAM and 8 MB flash (Plus: 16 MB flash)
WirelessWi-Fi 802.11 b/g/n 2.4 GHz and Bluetooth 5 LE, with Bluetooth Mesh
AntennaExternal, on a U.FL connector
USBUSB-C with native USB
BatteryLi-ion charger on board
ButtonsRESET and BOOT (GPIO0)
LEDsOrange user LED on GPIO21 (active low), red charge LED
Size21 × 17.8 mm. The Sense with its expansion board is 15 mm high
Operating temperature−20 to 65 °C (Seeed)

The Sense expansion board

PartDetails
CameraOV5640 with autofocus (2592 × 1944) on current boards. Some boards ship with an OV3660 (2048 × 1536), and the OV2640 is discontinued
MicrophoneDigital PDM, clock on GPIO42 and data on GPIO41
microSDSlot for a FAT card. CS on GPIO21, SCK GPIO7, MISO GPIO8, MOSI GPIO9

Source: Seeed Studio XIAO ESP32S3 wiki and the Espressif ESP32-S3 datasheet.

Getting started

1. What you needThe XIAO ESP32S3, the antenna from the box, a USB-C data cable, and for the Sense a microSD card if you want to save pictures.
2. Attach the antennaPress the U.FL antenna onto the connector at the front bottom left before you power the board.
3. Upload BlinkInstall the esp32 board package (version 2.0.8 or newer), choose XIAO_ESP32S3 and upload Blink. The user LED is on GPIO21 and is active low.

Specifications

Board

Input voltage5 V on USB-C, or a 3.7 V lithium cell on the battery pads
3V3 outputRegulated, rated for 700 mA
Charging currentFast and trickle values differ per model in the wiki table, so check the table for your board
Deep sleep (typical)14 µA on the base board, 3 mA on the Sense as listed, 33.5 µA on the Plus at 3.8 V
Interfaces1 UART, 1 I2C, 1 SPI, 11 PWM pins, 9 ADC channels (Plus: 2 UART, 2 SPI, 18 GPIOs)

Chip limits (ESP32-S3 datasheet)

Supply3.0 to 3.6 V, 3.3 V typical, absolute maximum 3.6 V
Cumulative output current1500 mA
Storage temperature−40 to 150 °C

Source: Seeed Studio wiki for the board, Espressif ESP32-S3 datasheet for the chip limits.

Dimensions

The base board is 21 × 17.8 mm. The Sense is 21 × 17.8 mm in plan and about 15 mm high with the expansion board and the camera. The expansion board plugs on with a board-to-board connector: slide it off sideways and do not pry it up, because that can damage the connector. The heat sink on the Sense blocks access to some pins. Check the Seeed drawing for hole and pad positions before you design a case.

Source: Seeed Studio XIAO ESP32S3 wiki.

Pin reference

XIAO pinGPIOFunction
D0 to D3GPIO1 to GPIO4ADC
D4, D5GPIO5, GPIO6I2C SDA, SCL
D6, D7GPIO43, GPIO44UART TX, RX
D8, D9, D10GPIO7, GPIO8, GPIO9SPI SCK, MISO, MOSI
D11, D12GPIO42, GPIO41Base and Sense. On the Sense these are the microphone pins
BOOTGPIO0Hold at reset for the bootloader
USER LEDGPIO21Orange, active low. On the Sense GPIO21 is also the SD card CS

Sense camera pins

Camera signalGPIO
XCLKGPIO10
PCLKGPIO13
VSYNCGPIO38
HREFGPIO47
SIOD (I2C data)GPIO40
SIOC (I2C clock)GPIO39
Data linesGPIO11 to GPIO18 and GPIO48

The Seeed tables list GPIO21 twice on the Sense (user LED and SD CS), and GPIO41 and GPIO42 twice (D11 and D12, and the microphone). Check these before you wire. GPIO41 and GPIO42 (A11 and A12) cannot do ADC on the ESP32-S3, even though they are labeled analog.

Source: Seeed Studio XIAO ESP32S3 wiki.

Power and battery

  • USB-C gives 5 V. The 5V pin outputs it, and it can be an input only with a diode between your source and the pin. On battery the 5V pin has no voltage.
  • 3V3 is regulated and rated for 700 mA.
  • Battery. Use a qualified 3.7 V lithium cell. The negative terminal goes on the side nearest the USB port. The red charge LED flashes while charging and goes out when the cell is full.
  • Battery voltage. Only the Plus has a pin to read it (GPIO10, ADC_BAT). On the others, build a divider to an ADC pin.
  • Heat. The Sense gets hot with the camera running. Seeed measured 63.6 °C on the back without a heat sink and 53.5 °C with the dual heat sink.

Programming

SettingValue
Arduino IDEInstall the esp32 board package 2.0.8 or newer and choose XIAO_ESP32S3
PSRAMChoose OPI PSRAM, needed for the camera frame buffers
Flash and partitions8 MB flash (16 MB on the Plus)
USB CDC On BootEnable it so Serial prints over USB
UploadHold BOOT while you plug in USB if the port does not appear

Example code

A first sketch that blinks the user LED, which is active low:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);       // GPIO21, active low
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);  delay(500);    // LED on
  digitalWrite(LED_BUILTIN, HIGH); delay(500);    // LED off
}

For the Sense camera, start from the CameraWebServer example in the esp32 board package and choose the XIAO ESP32S3 Sense camera model. I did not run these sketches on a board.

Tips

  • Use the Sense only if you need the camera, microphone or SD, because the expansion board covers some pins.
  • Use JPEG frames in PSRAM for the camera, and keep the frame size small for streaming.
  • Give the board air: heat is the main problem on the Sense.
  • Set the antenna before you test range.
  • For battery projects use deep sleep, and remember the Sense draws about 3 mA in deep sleep as listed.
  • Use the base board when you need all pins and a small footprint.

Real gotchas

  • The strapping pins are GPIO0, GPIO3, GPIO45 and GPIO46. They are sampled at reset, so do not drive them with circuits that fight the boot.
  • The user LED is active low. LOW turns it on.
  • Pin conflicts on the Sense. GPIO21 is both the LED and the SD card CS, and GPIO41 and GPIO42 are D11 and D12 as well as the microphone. Do not use them for two things.
  • A11 and A12 are not ADC pins. GPIO41 and GPIO42 do not support the ADC on the S3.
  • The antenna is external. Attach it before you test.
  • The camera module can differ. The Sense can ship with an OV5640, an OV3660 or (older) an OV2640. Pick the right model in the code.
  • Do not pry the expansion board. Slide it sideways.
  • The Plus has other pin numbers. D11 to D19 differ from the base board.
  • Board package 2.0.8 or newer is required in the Arduino IDE.

Compared with other small boards

BoardChipMemoryExtrasSize
XIAO ESP32S3 SenseESP32-S3, dual core8 MB flash, 8 MB PSRAMCamera, microphone, SD21 × 17.8 mm
XIAO ESP32C3ESP32-C3, single core4 MB flashNone21 × 17.8 mm
ESP32-CAMESP32, dual core4 MB flash, 4 MB PSRAMCamera, SD40 × 27 mm

The numbers for the ESP32-CAM and the XIAO ESP32C3 come from their own guides and are not checked again here.

What to build with it

  • A tiny Wi-Fi camera or doorbell with the Sense.
  • A voice trigger with the PDM microphone.
  • A small AI detector using the S3 vector instructions.
  • A pocket data logger on the microSD slot.
  • A BLE gadget with native USB.

Safety notes

Before you wire anything up

  • Keep every GPIO at 3.3 V. The chip supply limit is 3.6 V.
  • Use only a qualified 3.7 V lithium cell, with the right polarity, and never short the terminals.
  • The Sense can become hot. Do not put it in a closed box without air, and do not touch it after a long stream.
  • Never connect the board to mains voltage. Keep it on a low-voltage supply.
  • Disconnect the power before you change the wiring.

Conclusion

The XIAO ESP32S3 gives you native USB and more compute than the XIAO ESP32C3 in the same tiny footprint, plus a real camera/microphone path on the Sense variant. For a full-size breakout with two USB-C ports instead, see the AI-S3.

Board data is from the Seeed Studio wiki and chip limits from the Espressif ESP32-S3 datasheet. The wiki has inconsistencies, which are named above.

Advertisement
All guides

More guides

Keep building.

From ESP32 HomeKit accessories to Arduino and ATtiny reference guides, there’s more where this came from.

All guides