XIAO ESP32S3 Development Board
Code name: XIAO_ESP32S3
XIAO ESP32S3 development board is based on esp32s3 microcontroller and uses xtensa architecture. This board has a maximum CPU frequency of 240 MHz and a flash size of 8MB.
About XIAO ESP32S3
The XIAO ESP32S3 is an advanced development board featuring the ESP32-S3 dual-core processor with AI acceleration. It supports WiFi 4 and Bluetooth 5 (LE), making it an excellent choice for edge AI and IoT applications. π‘
With a compact form factor, it includes a USB-C port for fast programming and power, as well as an onboard reset button and bootloader mode button for seamless debugging. β‘
The XIAO ESP32S3 supports multiple communication interfaces, including UART, I2C, SPI, and ADC, along with AI capabilities for real-time data processing.
Where to Buy
Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.
Technical Specifications
π USB
π°οΈ Connectivity
π§ Microcontroller
β¨ Features
- Dual-core Xtensa LX7 processor with AI acceleration
- Supports WiFi 4 and Bluetooth 5 (LE)
- Ultra-small size (21x17.5 mm)
- 11 digital IO pins
- 11 external interrupt pins
- 9 analog input pins
- 11 PWM pins
XIAO ESP32S3 Pinout
The XIAO ESP32S3 pinout is designed for high flexibility and performance in a small package. It features key power pins like 5V
, 3.3V
, and GND
, ensuring reliable power delivery.
It supports multiple communication protocols with dedicated pins for UART
(RX
and TX
), I2C
(SDA
and SCL
), and SPI
(SCK
, MISO
, MOSI
, and SS
).
Analog input pins labeled A0
to A3
allow for sensor integration, while additional GPIOs provide extensive expandability.
β Safe Pins to Use
For general GPIO usage, these are the safest and most flexible choices:
Why Are These Pins Safe?
- Not involved in bootstrapping β No impact on device boot mode or system startup
- Not linked to flash memory or PSRAM β Won't interfere with storage or memory access
- Not dedicated to USB or JTAG β Free for general use without affecting debugging
- No special hardware connections β Freely assignable without internal conflicts
β οΈ Pins to Avoid or Use with Caution
Some pins are reserved for critical functions like bootstrapping, JTAG debugging, USB communication, and flash memory operations. Misusing these pins may lead to boot failures, programming issues, USB conflicts, or disruptions in flash storage.
Critical Pin Categories:
- π οΈ Strapping Pins: Control boot behavior and flash voltage selection
- π JTAG Debugging Pins: Required for low-level debugging
- π USB Communication Pins: Used for USB Serial/JTAG communication
- β‘ Flash Memory & SPI Pins: Connected to SPI flash memory and PSRAM
- π‘ UART Serial Communication Pins: Used for debugging and firmware uploads
PIN | Label | Reason | Function |
---|---|---|---|
IO3 | GPIO3 | Sampled at reset to select JTAG interface (USB Serial/JTAG controller vs. external pins). Improper use can disable external JTAG or alter debug interface. | π οΈ Strapping |
IO9 | FSPIHD | Connected to external flash (data/hold signal) on most modules. Not recommended for use as GPIO, since it must remain dedicated to flash communication. | β‘ Flash |
IO10 | FSPICS0 | Used to select the external flash chip. It is required for flash access and cannot be repurposed without losing flash connectivity | β‘ Flash |
IO20 | USB_D+ | By default connected to the on-chip USB Serial/JTAG controller. Using it as general GPIO without reconfiguring IO MUX will interfere with USB functionality. | π USB |
XIAO ESP32S3 Pin Mappings
This development board provides 11 digital IO pins, out of which 11 can be used as external interrupt pins , 9 as analog input pins and 11 pins have Pulse-Width Modulation (PWM) .
Pin | Function | ESP Pin | Input/Output | Description |
---|---|---|---|---|
1 | 5V | 5V | POWER INPUT | 5V power input |
2 | GND | GND | GROUND | Ground connection |
3 | 3V3 | 3.3V | POWER OUTPUT | 3.3V power output |
4 | IO2 | A0 | BIDIRECTIONAL | GPIO, ADC |
5 | IO3 | A1 | BIDIRECTIONAL | GPIO, ADC |
6 | IO4 | A2 | BIDIRECTIONAL | GPIO, ADC |
7 | IO5 | A3 | BIDIRECTIONAL | GPIO, ADC |
8 | IO6 | SDA | BIDIRECTIONAL | GPIO, I2C Data |
9 | IO7 | SCL | BIDIRECTIONAL | GPIO, I2C Clock |
10 | IO8 | SCK | BIDIRECTIONAL | GPIO, SPI Clock |
11 | IO9 | MISO | BIDIRECTIONAL | GPIO, SPI Data |
12 | IO10 | MOSI | BIDIRECTIONAL | GPIO, SPI Data |
13 | IO20 | RX | BIDIRECTIONAL | GPIO, UART Receive |
14 | IO21 | TX | BIDIRECTIONAL | GPIO, UART Transmit |
XIAO ESP32S3 Pins Mapping Arduino IDE
Below you can find the XIAO ESP32S3 pinout. This development board provides 11 digital IO pins, out of which 11 can be used as external interrupt pins, 9 as analog input pins and 11 pins have Pulse-Width Modulation (PWM).
Pin | Analog | Touch | PWM | Other |
---|---|---|---|---|
2 | A0 | |||
3 | A1 | |||
4 | A2 | |||
5 | A3 | |||
6 | SDA | |||
7 | SCL | |||
8 | SCK | |||
9 | MISO | |||
10 | MOSI | |||
20 | RX SS | |||
21 | TX |
Default Tools
Bootloader tool | esptool_py |
Uploader tool | esptool_py |
Network uploader tool | esp_ota |
Bootloader address | 0x0 |
Flash mode | qio |
Boot mode | qio |
Maximum upload size | 8192 Kb (8388608 B) |
Maximum data size | 320 Kb (327680 B) |
The XIAO ESP32S3 development board by default uses esptool_py uploader tool, esp_ota network uploader tool for Over-the-air (OTA) uploads and esptool_py bootloader tool. The bootloader starts at address "0x0". Flash mode and boot mode for XIAO ESP32S3 development board by default is qio and qio respectively.