Skip to content

gorinator/espflash-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESPFlash GUI

A native Windows flasher for Espressif's ESP32 chip family: ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-C61, ESP32-H2, ESP32-P4.

A single .exe — download, run, flash. No Python, no Node.js, nothing to install.

Download the prebuilt app

⬇ Download espflash-gui-v0.3.exe

Open the bin/ folder, download the latest version (espflash-gui-v0.3.exe) and run it — no installation needed. Older versions (espflash-gui-v0.1.exe, espflash-gui-v0.2.exe) are also kept in the folder.

How to use

  1. Plug in the board over USB
  2. Launch espflash-gui.exe
  3. Pick a flashing mode (see below) and select your .bin file(s)
  4. Select the COM port
  5. Click FLASH

You don't need to pick a baud rate — the app automatically tries the fastest speed (921600) and transparently falls back to 115200 if needed.

Flashing modes

  • Single file — one .bin (merged firmware) written to address 0x0. Suited for ready-made merged images (PlatformIO, Arduino, etc.)
  • 3 files (IDF) — separate bootloader.bin, partition-table.bin and app.bin, as produced by ESP-IDF (idf.py build). Each file has its own address, defaulting to 0x1000 / 0x8000 / 0x10000 (the bootloader address depends on the chip — 0x1000 for ESP32/ESP32-S2, 0x2000 for ESP32-C5/P4, 0x0 for the rest; edit the address field manually if needed). Each slot is optional — you can re-flash just app.bin, for example. Dropping several files onto the window at once sorts them into slots automatically by filename (bootloader, partition, everything else goes to Application)

Buttons

Button Action
FLASH Write the selected .bin file(s) to their addresses
Chip Info Show chip type, MAC, flash size, revision (result appears below the buttons)
Erase Flash Fully erase flash memory
Rescan COM ports
Browse / … Pick a file via the file dialog

If the chip won't enter flashing mode

On a connection error:

  1. Hold the BOOT button on the board
  2. Press RESET
  3. Release BOOT
  4. Click FLASH again

If no ports are detected, make sure the USB cable carries data (not charge-only).

Building from source

Requires Rust 1.88+:

cargo build --release

The binary will be at target\release\espflash-gui.exe.

Stack

  • Rust — implementation language
  • egui / eframe — native GUI, single static .exe
  • espflash (lib, no CLI) — connection and flashing logic (Apache-2.0/MIT)
  • serialport — COM port enumeration
  • rfd — native file dialog

License

MIT — see LICENSE.

The espflash dependency is distributed under the MIT OR Apache-2.0 license.

About

⚡ ESPFlash GUI — simple native flasher for ESP32 on Windows

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages