Skip to main content

Getting Started with Seeed Studio XIAO ESP32S3 (Sense)

Seeed Studio XIAO ESP32S3Seeed Studio XIAO ESP32S3 Sense


Seeed Studio XIAO Series are diminutive development boards, sharing a similar hardware structure, where the size is literally thumb-sized. The code name "XIAO" here represents its half feature "Tiny", and the other half will be "Puissant". Seeed Studio XIAO ESP32S3 Sense integrates camera sensor, digital microphone and SD card supporting. Combining embedded ML computing power and photography capability, this development board can be your great tool to get started with intelligent voice and vision AI.


ItemSeeed Studio XIAO ESP32S3Seeed Studio XIAO ESP32S3 Sense
Xtensa LX7 dual-core, 32-bit processor that operates at up to 240 MHz
WirelessComplete 2.4GHz Wi-Fi subsystem
BLE: Bluetooth 5.0, Bluetooth mesh
Built-in Sensors - OV2640 camera sensor for 1600*1200
Digital microphone
MemoryOn-chip 8M PSRAM & 8MB FlashOn-chip 8M PSRAM & 8MB Flash
Onboard SD Card Slot, supporting 32GB FAT
Interface1x UART, 1x IIC, 1x IIS, 1x SPI, 11x GPIOs (PWM), 9x ADC, 1x User LED, 1x Charge LED
1x Reset button, 1x Boot button
1x UART, 1x IIC, 1x IIS, 1x SPI, 11x GPIOs (PWM), 9x ADC, 1x User LED, 1x Charge LED, 1x B2B Connector (with 2 additional GPIOs)
1x Reset button, 1x Boot button
Dimensions21 x 17.5mm21 x 17.5 x 15mm (with expansion board)
PowerInput voltage (Type-C): 5V
Input voltage (BAT): 4.2V
Circuit operating Voltage (ready to operate):
- Type-C: [email protected]19mA
- BAT: [email protected]22mA
Circuit operating Voltage (ready to operate):
- Type-C: [email protected]38.3mA
- BAT: [email protected]43.2mA (with expansion board)
- Webcam Web application:
- Type-C:
- - Average power consumption: 5V/138mA
- - Photo moment: 5V/341mA
- Battery:
- - Average power consumption: 3.8V/154mA
- - Photo moment: 3.8V/304mA
- Microphone recording & SD card writing:
- Type-C:
- - Average power consumption: 5V/46.5mA
- - Peak power consumption: 5V/89.6mA
- Battery:
- - Average power consumption: 3.8V/54.4mA
- - Peak power consumption: 3.8V/108mA
Charging battery current: 50mACharging battery current: 100mA
Low Power Consumption ModelModem-sleep Model: 3.8V/25 mA
Light-sleep Model: 3.8V/2 mA
Deep Sleep Model: 3.8V/14 őľA
Without any peripherals:
- Modem-sleep Model: 3.8V/25.5 mA
- Light-sleep Model: 3.8V/2.4 mA
- Deep Sleep Model: 3.8V/63.768 őľA
Connect the camera:
- Modem-sleep Model: 3.8V/44.57 mA
- Light-sleep Model: 3.8V/5.47 mA
- Deep Sleep Model: 3.8V/3.00 mA
Connecting an SD Card:
- Modem-sleep Model: 3.8V/32.8 mA
- Light-sleep Model: 3.8V/3.48 mA
- Deep Sleep Model: 3.8V/1.08 mA
Simultaneously connect the camera and the SD card:
- Modem-sleep Model: 3.8V/55.72 mA
- Light-sleep Model: 3.8V/6.56 mA
- Deep Sleep Model: 3.8V/3.98 mA
Wi-Fi Enabled Power ConsumptionActive Model: ~ 100 mAActive Model: ~ 110 mA (with expansion board)
BLE Enabled Power ConsumptionActive Model: ~ 85 mAActive Model: ~ 102 mA (with expansion board)
Working Temperature-40¬įC ~ 65¬įC


  • Powerful MCU Board: Incorporate the ESP32S3 32-bit, dual-core, Xtensa processor chip operating up to 240 MHz, mounted multiple development ports, Arduino / MicroPython supported
  • Advanced Functionality (for Sense): Detachable OV2640 camera sensor for 1600*1200 resolution, compatible with OV5640 camera sensor, intergating additional digital microphone
  • Elaborate Power Design: Lithium battery charge management capability, offer 4 power consumption model which allows for deep sleep mode with power consumption as low as 14őľA
  • Great Memory for more Possibilities: Offer 8MB PSRAM and 8MB FLASH, supporting SD card slot for external 32GB FAT memory
  • Outstanding RF performance: Support¬†2.4GHz¬†Wi-Fi¬†and¬†BLE¬†dual wireless¬†communication,¬†support¬†100m+¬†remote¬†communication¬†when¬†connected¬†with¬†U.FL¬†antenna
  • Thumb-sized Compact Design: 21 x 17.5mm, adopting the classic form factor of XIAO, suitable for space limited projects like wearable devices

Hardware Overview‚Äč

Before everything starts, it is quite essential to have some basic parameters of the product. The following table provides information about the characteristics of Seeed Studio XIAO ESP32S3.

XIAO ESP32S3/XIAO ESP32S3 Sense front indication diagram
XIAO ESP32S3/XIAO ESP32S3 Sense back indication diagram
XIAO ESP32S3/XIAO ESP32S3 Sense Pin List
  • 5V - This is 5v out from the USB port. You can also use this as a voltage input but you must have some sort of diode (schottky, signal, power) between your external power source and this pin with anode to battery, cathode to 5V pin.

  • 3V3 - This is the regulated output from the onboard regulator. You can draw 700mA

  • GND - Power/data/signal ground

Getting Started‚Äč

To enable you to get started with the XIAO ESP32S3 faster, please read the hardware and software preparation below to prepare the XIAO.

Factory procedure‚Äč

We pre-program each new XIAO ESP32S3 and XIAO ESP32S3 Sense with a simple factory program.

  1. XIAO ESP32S3

The factory program preset in the regular version is the touch pin light-up program. When you power up the XIAO, touch some of its pins and the orange user indicator will light up.

  1. XIAO ESP32S3 Sense

The XIAO ESP32S3 Sense is shipped with the WebCam sample program pre-installed. You can use this program by giving the XIAO a good antenna installation and powering it up. For details, you can read the Wiki about this program.

Hardware Preparation‚Äč

Solder header‚Äč

XIAO ESP32S3 is shipped without pin headers by default, you need to prepare your own pin headers and solder it to the corresponding pins of XIAO so that you can connect to the expansion board or sensor.

Due to the miniature size of XIAO ESP32S3, please be careful when soldering headers, do not stick different pins together, and do not stick solder to the shield or other components. Otherwise, it may cause XIAO to short circuit or not work properly, and the consequences caused by this will be borne by the user.

Installation of antenna‚Äč

On the bottom left of the front of XIAO ESP32S3, there is a separate "WiFi/BT Antenna Connector". In order to get better WiFi/Bluetooth signal, you need to take out the antenna inside the package and install it on the connector.

There is a little trick to the installation of the antenna, if you press down hard on it directly, you will find it very difficult to press and your fingers will hurt! The correct way to install the antenna is to put one side of the antenna connector into the connector block first, then press down a little on the other side, and the antenna will be installed.

Remove the antenna is also the case, do not use brute force to pull the antenna directly, one side of the force to lift, the antenna is easy to take off.

Installation of expansion boards (for Sense)‚Äč

If you are shopping for the XIAO ESP32S3 Sense, then you should also include an expansion board. This expansion board has a 1600*1200 OV2640 camera sensor, Onboard SD Card Slot and digital microphone.

By installing the expansion board with XIAO ESP32S3 Sense, you can use the functions on the expansion board.

Installing the expansion board is very simple, you just need to align the connector on the expansion board with the B2B connector on the XIAO ESP32S3, press it hard and hear a "click", the installation is complete.

Software Preparation‚Äč

The recommended programming tool for the XIAO ESP32S3 is the Arduino IDE, so as part of the software preparation, you will need to complete the Arduino installation.


If this is your first time using Arduino, we highly recommend you to refer to Getting Started with Arduino.

  • Step 1. Download and Install the stable version of Arduino IDE according to your operating system.

The on-board package for XIAO ESP32S3 requires at least version 2.0.8 to be available.

  • Step 4. Select your board and port.

On top of the Arduino IDE, you can select the port directly. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports).

Also, search for xiao in the development board on the left. select XIAO_ESP32S3.

With this preparation, you can start writing programs for XIAO ESP32S3 to compile and upload.

BootLoader Mode‚Äč

There are times when we use the wrong program to make XIAO appear to lose ports or not work properly. The specific performance is:

  • Connected to computer, but no port number found for XIAO.

  • The computer is connected and the port number appears, but the upload program fails.

When you encounter the above two situations, you can try to put XIAO into BootLoader mode, which can solve most of the problems of unrecognized devices and failed uploads. The specific method is:

  • Step 1. Press and hold the BOOT button on the XIAO ESP32S3 without releasing it.

  • Step 2. Keep the BOOT button pressed and then connect to the computer via the data cable. Release the BOOT button after connecting to the computer.

  • Step 3. Upload the Blink program to check the operation of the XIAO ESP32S3.


When the program runs abnormally, you can press Reset once during power-up to let XIAO re-execute the uploaded program.

When you press and hold the BOOT key while powering up and then press the Reset key once, you can also enter BootLoader mode.

By now, I believe you have a good understanding of the features and hardware of the XIAO ESP32S3. Next, let's take the simplest Blink program as an example and perform the first blink for your XIAO ESP32S3!

  • Step 1. Launch the Arduino application.

  • Step 2. Navigate to File > Examples > 01.Basics > Blink, open the program.

  • Step 3. Select the board model to XIAO ESP32S3, and select the correct port number to upload the program.

Once the program is successfully uploaded, you will see the following output message and you can observe that the orange LED on the right side of the XIAO ESP32S3 is blinking.

Congratulations, you've learned how to write and upload programs for the XIAO ESP32S3!


The LED will only turn off when the user LED pin on the XIAO ESP32S3 is set to a high level, and it will only turn on when the pin is set to a low level.

Battery Usage‚Äč

The XIAO ESP32S3 series has a built-in power management chip that allows the XIAO ESP32S3 to be powered independently by using a battery or to charge the battery through the XIAO ESP32S3's USB port.

If you want to connect the battery for XIAO, we recommend you to purchase qualified rechargeable 3.7V lithium battery. When soldering the battery, please be careful to distinguish between the positive and negative terminals. The negative terminal of the power supply should be the side closest to the USB port, and the positive terminal of the power supply is the side away from the USB port.


Since all GPIO pins of the XIAO ESP32S3 are assigned their own functions, we do not have a GPIO configured for the battery pin. this means that we cannot get the battery voltage at the software level by reading the analog value of one of the GPIOs. If necessary, you can consider connecting the positive and negative terminals of the battery to two of the pins to measure the battery voltage.


When you use battery power, there will be no voltage on the 5V pin.

At the same time, we designed a red indicator light for battery charging, through the indicator light display to inform the user of the current state of the battery in the charge.

  1. When XIAO ESP32S3 is not connected to the battery, the red light comes on when the Type-C cable is connected and goes off after 30 seconds.
  2. The red light flashes when the battery is connected and the Type-C cable is connected for charging.
  3. When connecting Type-C to charge the battery fully, the red light turns off.

UF2 BootLoader‚Äč

We understand that some users are looking to flash UF2 files directly to XIAO, which will enable the process of batch flashing programs. Here we will describe this method.


Currently this method can only be used on Windows systems.

Step 1. Download the required script zip. And extract it to your local machine.

Step 2. Converting BIN files into UF2 files.

Once you have compiled and saved an Arduino program, you can export the binary file BIN file directly. This file will then be generated in your Arduino project folder.

At this point, all you need to do is copy this BIN file to the xiaos3-bin2uf2 directory that you just extracted in the first step, and then execute the convert_uf2.bat script to generate a UF2 file directly.

Step 3. Put the XIAO into UF2 BootLoader mode.

Then please connect the XIAO to the computer and then run the boot_uf2.bat script again, the XIAO will appear in the computer as a USB stick, which means it has successfully entered the UF2 BootLoader mode.

Step 4. Copy the UF2 file to XIAO ESP32S3.

Next you can access the XIAO ESP32S3's USB stick and copy the converted UF2 to the USB stick. Once the copying is complete, the XIAO USB stick will automatically disappear and the program will start to execute.

  1. Please ensure that your program is compiled and executed without problems, otherwise the UF2 program may not run as expected.
  2. The sample UF2 file for Blink is provided in the xiaos3-bin2uf2 folder. When this program is uploaded, the orange LED on the XIAO ESP32S3 will flash and you can use this UF2 file as a test.

Step 5. Enter the UF2 BootLoader again.

Once you have performed the above steps and you still want the XIAO ESP32S3 to access the UF2 BootLoader to upload other UF2 files, you need to quickly press the Reset button first and then the Boot button afterwards. And there is no need to execute the boot_uf2.bat script again.


Press Reset then Boot, and be quick!


Q1: What should I do if the upload program fails/the program runs abnormally/the device port is not found?‚Äč

If you encounter the above problem, it is recommended that you first try pressing the reset button on the XIAO ESP32S3 to try to get the program running again. If the problem persists, please recheck your program and read the methods provided in BootLoader Mode to restore the device.

Q2: Why does my XIAO have the problem of not being flush at the rounded corners? Is this a quality problem?‚Äč

First of all, it should be noted that this is not a quality issue and will not affect the normal function of XIAO.

XIAO ESP32S3 is the most complex one in all XIAO because of its high integration, and the PCB needs to be put together in factory production. Due to the high level of integration, the splicing board connection can only be placed at the four rounded corners, which will lead to the problem of uneven rounded corners on the picture. We will try to improve the process to ensure that this problem will be solved in the subsequent production.


[PDF] ESP32-S3 Datasheet

For Seeed Studio XIAO ESP32S3‚Äč

For Seeed Studio XIAO ESP32S3 Sense‚Äč


The remaining open source material is being compiled, so stay tuned!

Tech Support & Product Discussion‚Äč

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...