Simple GUI tool to flash ESPs over USB
Go to file
Stijn Tintel e3b778d4da Generate partitions path based on ESP32 model
To be able to support the ESP32-C3, a different partitioning scheme is
needed. Add a helper function to generate the URL to download the binary
partition table from, and use it when the user did not pass the
partitions argument.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-03-05 18:07:24 +02:00
.github Fix CI needs apt update sometimes (#100) 2022-01-08 14:01:47 +01:00
esphomeflasher Generate partitions path based on ESP32 model 2022-03-05 18:07:24 +02:00
.gitignore gitignore vscode 2021-10-29 12:49:46 +02:00
build-instructions.md Add build instructions 2019-06-09 16:14:52 +02:00
icon.icns Add build instructions 2019-06-09 16:14:52 +02:00
icon.ico Add build instructions 2019-06-09 16:14:52 +02:00
LICENSE Initial commit 2018-11-07 21:24:25 +01:00
MANIFEST.in Update build system (#24) 2020-07-30 13:26:27 +02:00
partitions.esp32.bin Use model number in partitions filename 2022-03-05 18:07:19 +02:00
pyproject.toml Add python linting (#80) 2021-10-29 12:48:46 +02:00
README.md Fix typo (#41) 2021-01-19 15:43:19 -03:00
requirements_build.txt Bump pyinstaller from 3.6 to 4.5.1 (#72) 2021-10-29 11:12:47 +02:00
requirements_test.txt Bump black from 21.12b0 to 22.1.0 (#104) 2022-01-31 20:08:04 +01:00
requirements.txt Bump requests from 2.24.0 to 2.26.0 (#81) 2021-10-29 12:43:49 +02:00
setup.cfg Add python linting (#80) 2021-10-29 12:48:46 +02:00
setup.py Bump python for assets to 3.9 (#79) 2021-10-29 12:39:15 +02:00

ESPHome-Flasher

ESPHome-Flasher is a utility app for the ESPHome framework and is designed to make flashing ESPs with ESPHome as simple as possible by:

  • Having pre-built binaries for most operating systems.
  • Hiding all non-essential options for flashing. All necessary options for flashing (bootloader, flash mode) are automatically extracted from the binary.

This project was originally intended to be a simple command-line tool, but then I decided that a GUI would be nice. As I don't like writing graphical front end code, the GUI largely is based on the NodeMCU PyFlasher project.

The flashing process is done using the esptool library by espressif.

Installation

It doesn't have to be installed, just double-click it and it'll start. Check the releases section for downloads for your platform.

Installation Using pip

If you want to install this application from pip:

  • Install Python 3.x
  • Install wxPython 4.x manually or run pip3 install wxpython (see also linux notes below)
  • Install this project using pip3 install esphomeflasher
  • Start the GUI using esphomeflasher. Alternatively, you can use the command line interface ( type esphomeflasher -h for info)

Build it yourself

If you want to build this application yourself you need to:

  • Install Python 3.x
  • Install wxPython 4.x manually or run pip3 install wxpython
  • Download this project and run pip3 install -e . in the project's root.
  • Start the GUI using esphomeflasher. Alternatively, you can use the command line interface ( type esphomeflasher -h for info)

Linux Notes

Installing wxpython for linux can be a bit challenging (especially when you don't want to install from source). You can use the following command to install a wxpython suitable with your OS:

# Go to https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ and select the correct OS type
# here, we assume ubuntu 18.03 bionic
pip3 install -U \
    -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \
    wxPython

License

MIT © Marcel Stör, Otto Winter