First connection, flashing and LED troubleshooting
Applies to: ESP32-S3-DevKitC-1 official boards, both USB ports.
The question
“Board is out of the box. Which USB port do I use, what could fail before the first blink, and why does nothing light up after flashing?”
Two USB ports — both work, pick deliberately
The board has two USB connectors and they are not interchangeable in what sits behind them:
| Port | Connector | What it is | Used for |
|---|---|---|---|
| USB-to-UART Port | Micro-USB | On-board USB-to-UART bridge chip, up to 3 Mbps | Power, flashing via serial port, serial communication. Default choice — the official guide uses it in subsequent steps |
| USB Port | — | ESP32-S3 native full-speed USB OTG (USB 1.1) | Power, flashing, USB communication, and JTAG debugging |
Practical rule: start with the USB-to-UART Port; switch to the native USB Port when you want native-USB features (USB CDC serial without the bridge, or JTAG debugging).
The cable trap. The official guide warns: some USB cables are charge-only and provide no data lines — they power the board and then programming silently fails. Use a known data cable (the guide specifies USB 2.0, Standard-A to Micro-B for the UART port).
Bring-up in order
- Inspect the board — no visible damage (the guide says this explicitly).
- Connect via the USB-to-UART Port.
- Check the 3.3 V power LED — with USB power connected it should light. If it stays dark, treat it as a power-chain clue: swap cable and port before anything else. Note: a charge-only cable usually still lights it (it powers the board) — that trap shows up one step later as a missing serial port, not as a dark LED.
- Set up the toolchain — the official path is the ESP-IDF Get Started guide (Installation section); Arduino IDE with the esp32 board package also supports the ESP32-S3.
- Flash a first example (blink / hello_world from the IDF examples). Normally the tool resets the chip into download mode automatically.
- If auto-sync fails, enter download mode manually: hold Boot, press and release Reset, then release Boot — the board is now in Firmware Download mode for serial flashing.
LED troubleshooting
After the first successful flash, the classic failure is “flash OK, LED dark”. Work through it in this order:
| Symptom | Likely cause | Fix |
|---|---|---|
| 3.3 V power LED never lights | Dead port, bad cable or weak supply — a charge-only cable normally powers the LED, so a dark LED points at the power chain, not at the charge-cable trap | Swap cable and port; verify the supply |
| No serial port appears on the computer | Charge-only cable again, or missing drivers for the bridge | Data cable; drivers per ESP-IDF Get Started |
| Flashing fails with “Failed to connect” | Chip not in download mode, auto-sync failed | Manual download mode: hold Boot, tap Reset, release Boot |
| Flash OK but onboard RGB LED stays dark | Wrong GPIO for your revision — v1.0 uses GPIO48, v1.1 uses GPIO38 | See Why the onboard LED is GPIO38 or GPIO48 |
digitalWrite on the LED pin “works” but no color | The LED is addressable (single-wire protocol), not a plain LED | Use neopixelWrite() / led_strip driver — same guide as above |
| Board crashes randomly with something wired to J3-11/12/13 | GPIO35-37 are internal memory lines on Octal-storage boards | See Can I use GPIO35, GPIO36 and GPIO37? |
Power options beyond USB
For completeness — the board supports three mutually exclusive supply paths: either USB port (recommended default), the 5V and G header pins, or the 3V3 and G header pins. Do not combine them.
What this page cannot tell you
- OS-specific driver installation (bridge drivers, port permissions) is maintained in the ESP-IDF Get Started guide, not in the board documentation — follow the link in step 4 rather than copies that may lag behind.
- Which PCB revision you hold — needed for the LED pin; the official identification path is in Which ESP32-S3-DevKitC-1 do I have?.
Sources
- ESP32-S3-DevKitC-1 v1.1 User Guide — Start Application Development (required hardware, cable note, hardware setup), Description of Components (both USB ports, Boot/Reset buttons, power LED, RGB LED), Power Supply Options (commit
5c06bf18) - ESP-IDF Get Started — official toolchain path the board guide points to
- MCUID data record: ESP32-S3-DevKitC-1 — headers, components and revision-scoped fields with fixed sources