XIAO ESP32-S3 Sense

A thumb-sized ESP32-S3 development board that pairs 2.4GHz Wi-Fi and BLE with a detachable OV2640 camera, digital microphone, and microSD slot for on-device AI, vision, and audio.

XIAO ESP32-S3 Sense: Compact AI + wireless

What is the XIAO ESP32-S3 Sense?

The XIAO ESP32-S3 Sense is built around Espressif's ESP32-S3R8, a dual-core Xtensa LX7 32-bit processor that runs at up to 240 MHz with 8MB of flash and 8MB of PSRAM. It carries a complete 2.4GHz Wi-Fi radio plus Bluetooth Low Energy 5.0, giving a single tiny board both wireless connectivity and enough headroom for machine-learning workloads. The base board keeps the classic XIAO footprint, so it drops into space-constrained and wearable projects.

The 'Sense' name comes from the detachable expansion board that clips onto the main module. It adds an OV2640 camera (1600x1200), a PDM digital microphone, and a microSD/TF card slot that accepts FAT-formatted cards up to 32GB. That combination makes the board a popular choice for TinyML and edge AI: image classification, wake-word and keyword spotting, and camera-based detection all run locally, and captured frames or audio can be logged straight to the SD card.

Makers program it with the Arduino core or MicroPython over the USB-C port, which also powers the board and charges an attached lithium battery through the onboard charge circuit. A U.FL connector accepts an external antenna for extended Wi-Fi and BLE range, and 11 GPIO (9 with ADC, 12-bit resolution) break out I2C, SPI, and UART for external sensors and peripherals.

XIAO ESP32-S3 Sense pin reference

PinFunctionType
D0 D0 (GPIO1)Analog · Digital · PWMBidirectional (GPIO)
D1 D1 (GPIO2)Analog · Digital · PWMBidirectional (GPIO)
D2 D2 (GPIO3)Analog · Digital · PWMBidirectional (GPIO)
D3 D3 (GPIO4)Analog · Digital · PWMBidirectional (GPIO)
D4 D4 / SDA (GPIO5)Analog · Digital · PWM · I²C SDABidirectional (GPIO)
D5 D5 / SCL (GPIO6)Analog · Digital · PWM · I²C SCLBidirectional (GPIO)
D6 D6 / TX (GPIO43)Digital · PWM · UART TXBidirectional (GPIO)
5V 5V / VBUSPowerPower in
GND GNDPowerPower in
3V3 3V3PowerPower out
D10 D10 / MOSI (GPIO9)Analog · Digital · PWM · SPI MOSIBidirectional (GPIO)
D9 D9 / MISO (GPIO8)Analog · Digital · PWM · SPI MISOBidirectional (GPIO)
D8 D8 / SCK (GPIO7)Analog · Digital · PWM · SPI SCKBidirectional (GPIO)
D7 D7 / RX (GPIO44)Digital · PWM · UART RXBidirectional (GPIO)

Specifications

Operating voltage
3.3 V
Interface
gpio
Clock speed
240 MHz
Flash
8 MB
RAM
8 MB
GPIO pins
11
ADC
9 channels · 12-bit
PWM channels
11
Dimensions
21 × 15 × 17.8 mm

Verified from the Tinkered component library · Seeed Studio.

Circuit requirements

  • GPIO logic level is 3.3V and the pins are not 5V tolerant. Level-shift any 5V signal before feeding it into a GPIO.
  • Power the board through the USB-C port (5V) or the 5V/VBUS pin. The 3V3 pin is a regulated 3.3V output for powering external peripherals, not a second input.
  • For portable use, solder a 3.7V Li-ion/LiPo cell to the underside BAT+ / BAT- pads. The onboard charger replenishes it whenever USB-C is connected.
  • The Sense expansion board carries the camera, microphone, and microSD slot over its board-to-board connector. Seat it firmly on the main module before power-up or those peripherals will not enumerate.
  • Broken-out buses are fixed: I2C on D4 (SDA) / D5 (SCL), SPI on D8 (SCK) / D9 (MISO) / D10 (MOSI), and UART on D6 (TX) / D7 (RX).

Common XIAO ESP32-S3 Sense mistakes

Treating the pins as 5V tolerant

The ESP32-S3 runs on 3.3V logic. Wiring a 5V sensor output or module directly to a GPIO can damage the chip. Use a level shifter or a 3.3V-native part.

Camera init fails because PSRAM is off

Camera capture relies on the 8MB PSRAM. If you forget to enable PSRAM (OPI mode) and pick the correct XIAO_ESP32S3 board and a camera-friendly partition scheme in the Arduino IDE, sketches return a 'camera init failed' error.

Reusing pins that the Sense board already owns

The OV2640 camera and the microSD slot consume many of the board's GPIOs when the expansion is attached. Assigning those same pins to your own peripherals breaks the camera or SD card.

Expecting the camera and mic on the bare module

The base XIAO ESP32-S3 has no camera, microphone, or SD slot. Those three features live only on the Sense expansion board, which must be clipped on.

Leaving the antenna disconnected

Without the external antenna seated on the U.FL connector, Wi-Fi and BLE range collapse and transmit bursts can cause brownouts. Attach the supplied antenna before relying on wireless.

XIAO ESP32-S3 Sense datasheet

Official XIAO ESP32-S3 Sense datasheetSeeed Studio

Popular XIAO ESP32-S3 Sense projects

Wireless streaming camera

Serve a live MJPEG video feed over Wi-Fi from the OV2640, an ESP32-CAM style build in a much smaller footprint.

TinyML image classification

Train a model in Edge Impulse and run inference on-device so the board recognizes objects or gestures from the camera without a cloud connection.

Keyword spotting with the digital mic

Use the onboard PDM microphone to detect wake words or simple voice commands locally for hands-free control.

Trail and wildlife camera

Trigger captures on motion, timestamp the JPEGs, and log them to the microSD card while running from a lithium battery.

Battery-powered BLE sensor node

Read external I2C sensors, broadcast readings over Bluetooth Low Energy 5.0, and deep-sleep between samples on a single LiPo cell.

Smart video doorbell

Combine camera capture, on-device person detection, and Wi-Fi notifications for a compact DIY doorbell or entry monitor.

Build with the XIAO ESP32-S3 Sense.

Drop the XIAO ESP32-S3 Sense into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.