ESP32 Web Flasher

Connect your board, select firmware, and install it in a few simple steps.

  1. Prepare
  2. Connect
  3. Select Firmware
  4. Flash Device
  5. Complete

Prepare your device

Flashing may erase existing data and firmware.

Flashing history

Saved only in this browser.

Troubleshooting

ESP32 is not detected

What it means: The computer can't see your board.

Likely causes: Charge-only cable, loose plug, missing driver.

Try this:

  1. Use a different USB data cable.
  2. Plug directly into the computer, not a hub.
  3. Unplug, wait 5 seconds, replug.
No serial ports appear

What it means: The browser's port list is empty.

Likely causes: Unsupported browser, cable, or driver.

Try this:

  1. Use desktop Chrome or Edge.
  2. Check the cable and driver.
  3. Close other apps that use the port.
Permission denied

What it means: The browser or system blocked access to the port.

Likely causes: Port used by another app, or access was denied.

Try this:

  1. Close Arduino IDE and serial monitors.
  2. Click Connect again and choose the port.
  3. On Linux, add your user to the 'dialout' group.
USB cable is charge-only

What it means: The cable has power wires but no data wires.

Likely causes: Cheap or phone-charging cables.

Try this:

  1. Try a cable that came with a data device.
  2. Test the cable with another board.
Driver missing

What it means: The computer lacks the USB-serial driver.

Likely causes: Boards using CP210x or CH340 chips.

Try this:

  1. Install the CP210x or CH340 driver from the chip maker.
  2. Replug the board and retry.
Wrong chip or firmware selected

What it means: The firmware doesn't match your chip (e.g. ESP32-S3 vs ESP32).

Likely causes: Wrong download or wrong flash address.

Try this:

  1. Check the chip name shown after connecting.
  2. Download firmware built for that chip.
  3. Check the flash address in the firmware's docs.
Failed to enter bootloader mode

What it means: The board didn't switch to flashing mode.

Likely causes: Board needs manual boot mode, weak USB power.

Try this:

  1. Hold the BOOT button, click Connect, release after it starts.
  2. Try another USB port or cable.
  3. Tap EN/RESET once, then retry.
Flash operation interrupted

What it means: Writing stopped before it finished.

Likely causes: Cable unplugged, power dip, tab closed.

Try this:

  1. Do not unplug during flashing.
  2. Reconnect and flash again.
  3. Use a short, good-quality cable.
Firmware file is invalid

What it means: The file is empty, too big, or in the wrong form.

Likely causes: Wrong file picked, partial download.

Try this:

  1. Re-download the file.
  2. Check size and the flash address.
  3. Use a manifest with hashes if possible.
Flash completed but board does not boot

What it means: The write finished, but the firmware doesn't run.

Likely causes: Wrong firmware for the board, missing bootloader/partition files.

Try this:

  1. Flash all required files (bootloader, partitions, app).
  2. Press EN/RESET.
  3. Try again with firmware made for your exact board.

Settings

Firmware sources: edit src/config.js and public/firmware/manifest.json. Docs: esptool-js, esptool.

Logs