Skip to content
On this page

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:

PortConnectorWhat it isUsed for
USB-to-UART PortMicro-USBOn-board USB-to-UART bridge chip, up to 3 MbpsPower, 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

  1. Inspect the board — no visible damage (the guide says this explicitly).
  2. Connect via the USB-to-UART Port.
  3. 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.
  4. 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.
  5. Flash a first example (blink / hello_world from the IDF examples). Normally the tool resets the chip into download mode automatically.
  6. 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:

SymptomLikely causeFix
3.3 V power LED never lightsDead 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 trapSwap cable and port; verify the supply
No serial port appears on the computerCharge-only cable again, or missing drivers for the bridgeData cable; drivers per ESP-IDF Get Started
Flashing fails with “Failed to connect”Chip not in download mode, auto-sync failedManual download mode: hold Boot, tap Reset, release Boot
Flash OK but onboard RGB LED stays darkWrong GPIO for your revision — v1.0 uses GPIO48, v1.1 uses GPIO38See Why the onboard LED is GPIO38 or GPIO48
digitalWrite on the LED pin “works” but no colorThe LED is addressable (single-wire protocol), not a plain LEDUse neopixelWrite() / led_strip driver — same guide as above
Board crashes randomly with something wired to J3-11/12/13GPIO35-37 are internal memory lines on Octal-storage boardsSee 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