How to Flash ESP32 from Your Browser (WLED, ESPHome)

How to Flash ESP32 from Your Browser (WLED, ESPHome)

You can flash ESP32 from your browser in about a minute — no Arduino IDE, no Python, no esptool installation. Chrome and Edge support the Web Serial API, which lets a web page talk to the USB-serial chip on your board. That is how the official WLED, ESPHome and Tasmota installers work, and it is how our free ESP32 online flasher lets you flash any .bin file you built yourself.

What you need

  • A desktop browser with Web Serial: Google Chrome, Microsoft Edge or Opera on Windows, macOS or Linux. Firefox and Safari do not support it.
  • A USB data cable. Many cheap cables are charge-only.
  • A USB-serial driver if your board uses a CH340 or CP2102 chip and your OS does not have one yet. Boards with native USB (ESP32-S3, C3, C6) usually need none.

Option 1: official web installers

For popular projects the easiest path is the project’s own installer:

ProjectWhat it isInstaller
WLEDaddressable LED controller (WS2812B, SK6812)install.wled.me
ESPHomefirmware for Home Assistant devicesweb.esphome.io
Tasmotafirmware for smart plugs and relaystasmota.github.io/install
MeshtasticLoRa mesh firmwareflasher.meshtastic.org

These pages pick the right binary for you, flash it and often configure Wi-Fi right after.

Option 2: flash your own .bin with the SparSIT flasher

When you compiled your own sketch, downloaded a release from GitHub, or the official installer does not support your board, use the SparSIT ESP32 flasher. It is built on Espressif’s official esptool-js library and supports ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2 and ESP8266.

  1. Plug in the board and click Connect and detect chip.
  2. If it does not enter the bootloader by itself, hold BOOT (IO0), tap EN/RST, release BOOT.
  3. Add the firmware: either one merged file at 0x0, or the four Arduino/PlatformIO files at their addresses.
  4. Optionally tick Erase entire flash — recommended when switching between different firmwares.
  5. Click Flash. The board reboots when finished.

Which files go at which address

FileESP32, ESP32-S2ESP32-S3, C3, C6, H2
bootloader.bin0x10000x0
partitions.bin0x80000x8000
boot_app0.bin0xE0000xE000
firmware.bin (your sketch)0x100000x10000
merged *.merged.bin0x00x0

In Arduino IDE 2 use Sketch → Export Compiled Binary; PlatformIO puts the files in .pio/build/<env>/. A merged binary is the simplest option because it goes to 0x0 on every chip.

Troubleshooting

  • “Failed to connect” — enter the bootloader manually (BOOT + RST) and lower the baud rate to 115200.
  • Port not listed — charge-only cable or a missing CH340/CP2102 driver.
  • Boot loop after flashing — wrong addresses, or the flash was not erased when changing firmware type.
  • Nothing in the serial monitor — open the online COM port terminal at 115200 baud and press RST to see the boot log.

Flash ESP32 from your browser — free

ESP32, S2, S3, C3, C6, H2 and ESP8266. Merged or multi-file images, full erase, chip detection. Nothing to install.

Open the ESP32 web flasher

FAQ

Is flashing from the browser safe?

Yes. The page only talks to the serial port you select, and the firmware never leaves your computer. esptool-js is Espressif’s own library.

Can I flash ESP8266 the same way?

Yes. Use a single merged binary at 0x0, or the firmware file at 0x0 for most ESP8266 projects.

Why does Firefox not work?

Firefox and Safari have not implemented the Web Serial API. Use Chrome, Edge or Opera on a desktop computer.

Sources: esptool-js (Espressif) and ESP Web Tools.

Related Posts

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.