Skip to content

Enter download mode for each supported board

Short answer: use the row for your exact board. Do not substitute an ESP32-S3 or ESP32-C5 flash layout or boot sequence for another board. The table below changes only the boot state; it does not change flash offsets.

Verified button sequences

DeviceEnter download modeEvidence
M5Stack Cardputer / Cardputer ADVSet the side power switch to OFF. Hold G0, connect USB-C or power the device, then release G0.M5Stack Cardputer upload guide
M5Stack CoreS3Connect USB. Hold the bottom RESET button for about 3 seconds; release when the internal green LED lights.M5Stack CoreS3 docs
M5Stack StickS3Connect USB. Hold the side reset button for about 2 seconds; release when the internal green LED flashes.M5Stack StickS3 upload guide
LilyGO T-DeckConnect USB-C, switch power ON, hold the center trackball, press the left RESET button, keep holding the trackball while starting the flash.LilyGO T-Deck README
LilyGO T-Display-S3Hold BOOT, press and release RST, then release BOOT. After flashing, press RST to boot normally.LilyGO T-Display-S3 README
Flipper Zero Wi-Fi Dev Board (ESP32-S2)Hold BOOT, press and release RESET, then release BOOT. Reconnect/select the ROM download port.Flipper firmware issue #3487 reproduces the official devboard_flash instruction
CYD and generic ESP32 boards with BOOT + EN/RSTHold BOOT/IO0, press and release EN/RST, then release BOOT.Espressif boot mode selection
ESP32-C5-WROOM / Scout LiteHold the board's BOOT control while connecting USB-C, then release it after the ROM USB device appears. This sequence is hardware-tested for the PINGEQUA C5 boards; do not infer strapping-pin numbers or flash offsets from other ESP32 families.PINGEQUA hardware test; Espressif ESP32-C5 download guidelines confirm Joint Download Boot mode and the waiting for download check
BW16 / RTL8720DNOn the PINGEQUA board: hold BOOT, tap RESET, release BOOT. At module level, Realtek documents pulling LOG_TX (PA7) low during an EN reset, then releasing it.Realtek Ameba BW16 troubleshooting guide

Boards that should auto-reset first

M5StickC Plus2, M5Stack Core2, and USB-bridge CYD variants have a USB-to-serial bridge and are intended to enter the ROM loader through the flasher's reset-control lines. Click Connect first. If that fails, reconnect directly, close other serial tools, and use only a manufacturer-documented control for that exact hardware revision.

No public manufacturer page found in the 2026-07-16 source pass documents an external manual download gesture for M5StickC Plus2 or M5Stack Core2. This page therefore does not repeat the unverified "hold a side button" advice. For a failed automatic reset, use the board schematic/service method or an exposed GPIO0/EN programmer rather than guessing.

The LilyGO T-Embed / T-Embed CC1101 exposes ESP32-S3 hardware CDC and is expected to flash through its normal USB path. LilyGO's current product repository links a separate download-mode document, but the indexed public source did not expose a complete button sequence during this 2026-07-16 verification pass. Treat a generic BOOT/RST sequence as unverified for this enclosure until the vendor document or a hardware test confirms the physical controls.

Confirm that download mode worked

  • ESP32 UART boot logs show DOWNLOAD(...) or waiting for download.
  • Native-USB ESP32-S2/S3/C5 boards can disconnect and re-enumerate as a different USB device. Re-open the browser chooser after the gesture.
  • BW16 uses a different Realtek ROM protocol; do not test it with esptool.

If the port opens but esptool still receives nothing, continue with Timed out waiting for packet header. If it explicitly reports run mode, use Wrong boot mode detected.

Sources and verification date

All linked sequences were rechecked on 2026-07-16. Espressif's current release was esptool v5.3.0, released 2026-06-01; this site uses esptool-js v0.6.0, released 2026-03-26. Neither version number is used to infer board-specific buttons or flash offsets.

  • Espressif — esptool v5.3.0 and esptool-js v0.6.0.
  • Espressif — Boot Mode Selection (GPIO0 low during reset enters the ROM serial bootloader).
  • Device-specific M5Stack, LilyGO, Flipper, and Realtek sources are linked in the table; no offset was copied or derived.

Released under the MIT License.