

The Seeed Studio XIAO ESP32S3(Sense) is a compact microcontroller board powered by the ESP32-S3 chip. It is specifically designed for IoT (Internet of Things) applications, offering built-in Wi-Fi and Bluetooth connectivity. This board also features integrated sensors, making it ideal for environmental monitoring, smart devices, and interactive projects. Its small form factor and powerful capabilities make it a versatile choice for both hobbyists and professionals.








| Specification | Value |
|---|---|
| Microcontroller | ESP32-S3 (Xtensa® 32-bit LX7 dual-core) |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 8 MB |
| RAM | 512 KB SRAM + 2 MB PSRAM |
| Connectivity | Wi-Fi 802.11 b/g/n, Bluetooth 5.0 |
| Sensors | IMU (6-axis), Microphone |
| Operating Voltage | 3.3V |
| Input Voltage Range | 5V (via USB-C) |
| GPIO Pins | 11 (including ADC, I2C, SPI, UART, PWM) |
| Dimensions | 21 x 17.5 mm |
| Pin Name | Type | Description |
|---|---|---|
| 3V3 | Power | 3.3V output for powering external components |
| GND | Ground | Ground connection |
| D0 | GPIO | General-purpose I/O, supports ADC and PWM |
| D1 | GPIO | General-purpose I/O, supports ADC and PWM |
| D2 | GPIO | General-purpose I/O, supports ADC and PWM |
| D3 | GPIO | General-purpose I/O, supports ADC and PWM |
| D4 | GPIO | General-purpose I/O, supports ADC and PWM |
| RX | UART RX | UART receive pin |
| TX | UART TX | UART transmit pin |
| SCL | I2C Clock | I2C clock line |
| SDA | I2C Data | I2C data line |
Below is an example of how to use the XIAO ESP32S3(Sense) to read data from its onboard IMU sensor and send it to the serial monitor.
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM6DS33.h>
// Create an instance of the LSM6DS33 sensor
Adafruit_LSM6DS33 lsm6ds;
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
while (!Serial) {
delay(10); // Wait for the serial connection to be established
}
// Initialize the I2C communication
if (!lsm6ds.begin_I2C()) {
Serial.println("Failed to initialize LSM6DS33 sensor!");
while (1) {
delay(10); // Stay in a loop if initialization fails
}
}
Serial.println("LSM6DS33 sensor initialized successfully!");
}
void loop() {
sensors_event_t accel, gyro, temp;
// Get sensor data
lsm6ds.getEvent(&accel, &gyro, &temp);
// Print accelerometer data
Serial.print("Accel X: "); Serial.print(accel.acceleration.x); Serial.print(" m/s^2, ");
Serial.print("Y: "); Serial.print(accel.acceleration.y); Serial.print(" m/s^2, ");
Serial.print("Z: "); Serial.print(accel.acceleration.z); Serial.println(" m/s^2");
// Print gyroscope data
Serial.print("Gyro X: "); Serial.print(gyro.gyro.x); Serial.print(" rad/s, ");
Serial.print("Y: "); Serial.print(gyro.gyro.y); Serial.print(" rad/s, ");
Serial.print("Z: "); Serial.print(gyro.gyro.z); Serial.println(" rad/s");
// Print temperature data
Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println(" °C");
delay(1000); // Wait 1 second before the next reading
}
Board Not Detected by Computer:
Code Upload Fails:
Wi-Fi or Bluetooth Not Working: