MakerLab
ESP32Seeed XIAO ESP32-S3

Seeed XIAO ESP32-S3: A Tiny Powerhouse for IoT Projects

The Seeed XIAO ESP32-S3 is a compact, feature-rich development board perfect for makers and engineers seeking powerful wireless connectivity and processing in a small form factor.

Seeed XIAO ESP32-S3

The Seeed XIAO ESP32-S3 is a miniature development board designed for ease of use and powerful performance, making it an excellent choice for a wide range of embedded projects, especially those requiring wireless communication. It's part of Seeed Studio's popular XIAO series, known for its small size and integrated features.

At its heart is the Espressif ESP32-S3 chip, a dual-core Tensilica LX7 microcontroller that offers significant improvements over previous ESP32 generations. The ESP32-S3 boasts Wi-Fi and Bluetooth 5 (LE) connectivity, a vector instruction extension for AI acceleration, and a generous amount of on-chip memory, making it suitable for more demanding applications like on-device machine learning and complex sensor data processing.

This board represents a step up in performance and features from earlier ESP32-based XIAO boards, offering enhanced processing power and AI capabilities. It's ideal for makers who have outgrown simpler microcontrollers and need a compact solution with robust wireless features for IoT projects, wearables, smart home devices, and even portable gaming or AI-driven applications.

With its extensive GPIO, multiple communication interfaces, and support for popular development environments like Arduino IDE and MicroPython, the XIAO ESP32-S3 lowers the barrier to entry for advanced embedded development. Its small footprint and USB-C interface further simplify integration into prototypes and final products.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCEspressif ESP32-S3-MINI-1
ArchitectureDual-core Tensilica LX7
Clock speedUp to 240 MHz
Flash / Storage8 MB external SPI Flash
RAM / SRAM512 KB SRAM (internal) + 16 MB PSRAM (external)
Operating voltage3.3V
Digital I/O pins21 (usable)
Analog / ADC14-channel 12-bit ADC
PWMAll GPIO pins support PWM
ConnectivityWi-Fi 802.11 b/g/n, Bluetooth 5 (LE)
USBUSB Type-C (for power and programming)
Power input5V via USB-C, or 3.3V pin
Dimensions23.6 x 17.8 mm

Pinout & pin functions

PinFunction
3V3Power output (3.3V)
GNDGround
ENEnable pin (active high)
IO0Boot mode selection (low during boot to enter download mode)
IO1UART0 TXD
IO2UART0 RXD
IO3SPI1 MOSI
IO4SPI1 MISO
IO5SPI1 SCK
IO6SPI1 CS
IO7I2C0 SDA
IO8I2C0 SCL
IO9ADC1 Channel 6 / Touch 6
IO10ADC1 Channel 7 / Touch 7
IO11ADC1 Channel 8 / Touch 8
IO12ADC1 Channel 9 / Touch 9
IO13ADC2 Channel 4 / Touch 4
IO14ADC2 Channel 5 / Touch 5
IO15ADC2 Channel 6 / Touch 6
IO16ADC2 Channel 7 / Touch 7
IO17ADC2 Channel 8 / Touch 8
IO18ADC2 Channel 9 / Touch 9
IO19I2C1 SDA
IO20I2C1 SCL
IO21SPI2 MOSI
IO22SPI2 MISO
IO23SPI2 SCK
IO24SPI2 CS
IO25DAC Channel 1
IO26DAC Channel 2
IO27ADC1 Channel 1 / Touch 1
IO28ADC1 Channel 2 / Touch 2
IO29ADC1 Channel 3 / Touch 3
IO30ADC1 Channel 4 / Touch 4
IO31ADC1 Channel 5 / Touch 5
IO32ADC2 Channel 0 / Touch 0
IO33ADC2 Channel 1 / Touch 1
IO34ADC2 Channel 2 / Touch 2
IO35ADC2 Channel 3 / Touch 3
IO36GPIO (also used for USB D-)
IO37GPIO (also used for USB D+)
IO38GPIO
IO39GPIO

Wiring & circuit basics

The Seeed XIAO ESP32-S3 operates at a logic level of 3.3V. Connecting 5V devices directly to its GPIO pins can cause damage. If you need to interface with 5V components, use a logic level converter or a voltage divider for inputs. Powering the board is straightforward via the USB-C port, which can supply 5V. Alternatively, you can power the board by applying a regulated 5V to the 3V3 pin or a regulated 3.3V directly to the 3V3 pin, though this bypasses the onboard regulator and is generally not recommended for beginners.

When connecting external components, always ensure they are compatible with the 3.3V logic level. For example, to blink an LED, connect the anode (longer leg) of the LED to a GPIO pin (e.g., IO23) and the cathode (shorter leg) to a current-limiting resistor (typically 220-330 ohms). The other end of the resistor connects to a GND pin. This configuration ensures that the LED receives the correct voltage and current, preventing damage to both the LED and the microcontroller.

For sensors, check their operating voltage and logic level requirements. Many I2C sensors, like the popular BME280 or MPU6050, operate at 3.3V and can be connected directly. For an I2C sensor, connect its VCC to the XIAO's 3V3 pin, GND to a GND pin, SDA to a designated I2C SDA pin (e.g., IO7), and SCL to a designated I2C SCL pin (e.g., IO8).

Programming & getting started

The Seeed XIAO ESP32-S3 is well-supported by multiple development environments. For beginners, the Arduino IDE is an excellent choice. After installing the ESP32 board support package in the Arduino IDE, you can select the 'Seeed XIAO ESP32S3' board from the board manager. Connect the XIAO via USB-C, select the correct COM port, and upload your sketch. MicroPython and CircuitPython are also excellent options for rapid prototyping, offering a Python-based programming experience. For more advanced users, Espressif's ESP-IDF framework provides the most control and access to the chip's full capabilities.

To upload your first program (e.g., a Blink sketch) using the Arduino IDE: 1. Install the ESP32 boards manager in Arduino IDE. 2. Select 'Seeed XIAO ESP32S3' as your board. 3. Connect the XIAO ESP32-S3 to your computer via USB-C. 4. Select the correct COM port. 5. Copy and paste a standard Blink sketch, modifying the LED pin to one of the available GPIOs (e.g., IO23). 6. Click the Upload button. The board will automatically enter bootloader mode for flashing.

Project ideas

Wi-Fi Connected Weather StationMonitor temperature, humidity, and pressure using I2C sensors and display readings on a web server hosted by the ESP32-S3. Uses I2C, Wi-Fi, and basic web server programming.
Bluetooth LE Heart Rate MonitorRead data from a heart rate sensor (e.g., MAX30102) and transmit it via Bluetooth Low Energy to a smartphone app. Utilizes I2C, Bluetooth LE, and sensor interfacing.
AI-Powered Gesture RecognitionUse the ESP32-S3's AI acceleration capabilities with a camera module to recognize simple hand gestures. Requires understanding of embedded machine learning and camera interfacing.
Low-Power Environmental Sensor NodeDeploy a battery-powered sensor node that wakes up periodically, takes readings (e.g., air quality, light), sends data via Wi-Fi, and goes back to deep sleep. Focuses on power management and Wi-Fi communication.
USB MIDI ControllerBuild a compact MIDI controller using buttons, potentiometers, and sliders connected to GPIO pins, outputting MIDI data over USB. Leverages USB HID capabilities and digital/analog inputs.
Voice Assistant InterfaceIntegrate a microphone and speaker to create a basic voice command interface, potentially sending commands to other smart devices over Wi-Fi. Explores audio input/output and network communication.

Buying tips & gotchas

When purchasing the Seeed XIAO ESP32-S3, ensure you are buying from a reputable vendor to avoid counterfeit or lower-spec versions. Be mindful of the 3.3V logic level; using 5V components without proper level shifting is a common pitfall. Accessories like small breadboards, jumper wires, and a USB-C cable are essential. Consider a small enclosure or prototyping shield for more robust projects. If you need more I/O pins, explore boards with pin expanders or use I2C I/O expanders.