XIAO ESP32S3: Beginner guide
Draft. Untested on hardware. Read with an adult nearby. This page is written for a beginner reader; it does not certify the product for any age.
View or save the portrait PDF (opens a new tab)
You can give this small board a program and make its own light blink. A program is a list of instructions. An LED is a tiny electric light. No extra light or wires are needed.
A small instruction follower
A microcontroller is a small computer that follows your program. The board holds it and its connections. Flash memory saves your program after you unplug it. S2 S4
This board also has Wi-Fi and Bluetooth LE. These are ways to send information without wires. An antenna helps those signals travel. We will not use them for this blink. S1
Find the socket and buttons
USB-C is the socket for the cable. RESET restarts the board. BOOT helps send a program when the usual method fails. The user LED is the light you will control. S1 S3
The other light is the charge LED. It belongs to the battery charger. Battery pads are the small metal battery connections underneath. Leave them alone today. S3
Leave other connections alone
The metal shield is a cover over the computer parts. Edge pads are flat metal connections around the sides. You do not need them today. Do not solder anything: solder is melted metal used to join parts. S1 S3
GPIO means a connection a program can use to send or read a signal. A signal carries information. These signals use 3.3 V. V means volts, a measure of electrical push. Never put a 5 V signal on a GPIO: it can damage the board. The USB power socket is a different connection. S4
Give it a safe place
Unplug before touching connections. Hold the board by its edges. Put it on a clean, dry wooden or plastic surface. Keep metal objects away from the contacts. Keep small loose parts away from mouths and younger children.
Leave batteries out of this activity. A wrongly connected lithium battery can heat or burn. Stop if anything gets unusually hot, smells odd or smokes. Ask the adult to disconnect power safely. Do not touch a hot part to investigate.
The antenna can wait
Blinking needs no antenna. If the adult fits one later, hook one edge of its connector onto the socket first. Then gently press the other edge down. Never pull it off by its wire. S1
Gather what you need
You need this board, an adult and a USB-C data cable. A data cable carries instructions and power. A charging-only cable cannot send a program.
You also need a Windows, macOS or Linux computer, internet and room for a large software download. You can read here on a tablet or phone, but these steps use the computer. S6
Make the light blink
- Ask the adult to install Arduino IDE using the official instructions below. IDE is the computer app where you write and send programs. The board package is the extra software that teaches it about this board. Install Espressif's ESP32 package version 3.3.2 and select
XIAO_ESP32S3. Espressif makes the board's computer chip. S9 S6 S5 - Plug in the data cable. With no battery, the maker says the red charge light comes on, then goes out after about 30 seconds. That does not mean it broke. Its factory program can light the orange user LED when pins are touched; do not touch pins to test this. We have not checked the program on your board. S1
- Choose the port: the computer's named connection to this board. Upload means send a program. Hardware means physical computer parts. CDC names a USB communication method. Ask the adult to set
USB CDC On Boot: EnabledandUpload Mode: UART0 / Hardware CDCwhere shown. These are menu names for sending through USB; UART0 names another communication route. S7 - Open a new sketch, Arduino's name for a program. Type this example.
LED_BUILTINselects the user light. HereLOWturns it on andHIGHturns it off. S1 S5 S8
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
}
void loop() {
digitalWrite(LED_BUILTIN, LOW);
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(700);
}
setup runs once at the start. pinMode makes the light's connection an output. digitalWrite changes it. loop repeats the blinking instructions. delay pauses. A millisecond is a thousandth of a second. Our numbers choose the pauses; they are not board limits. S8
- Press Verify to check the program. Press Upload to send it to the board. Expected result: a short flash, then a longer dark pause, repeating. This draft has not observed that on hardware.
If sending fails
Ask the adult to hold BOOT, press and release RESET, then release BOOT. Select the new port and try Upload again. After the first upload in this mode, press RESET once afterwards. Do not add wires to fix an upload. S7
Identity for the adult
Plain Seeed Studio XIAO ESP32S3, part 113991114. The maker's datasheet describes the part; a schematic shows its electrical connections. We used the September 2026 datasheet and schematic v1.1. A revision is a version; our stock's physical revision is uninspected. Sense and Plus are different boards. S2 S3
Original documents
Sources read 2026-10-11. S1 Seeed instructions; S2 plain-board datasheet, updated 2026-09-20; S3 schematic v1.1; S4 chip datasheet v2.2; S5 board aliases, core 3.3.2; S6 package installation; S7 USB recovery; S8 GPIO functions; S9 IDE installation.