Skip to content

Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython.

License

Notifications You must be signed in to change notification settings

opencoca/RIAC-eBrain-Flasher

 
 

Repository files navigation

Image of eBrain Wizard / eBrain-Flasher GUI

Installation

eBrain Wizard / eBrain-Flasher doesn't have to be installed, just double-click it and it'll start. Check the releases section for downloads for your platform. For every release there's at least a .exe file for Windows. Starting from 5.0.0 there's also a .dmg for macOS.

Status

Scan the list of open issues for bugs and pending features.

Note

Getting help

In the unlikely event that you're stuck with this simple tool the best way to get help is to turn to the "Tools and IDE" subforum on esp8266.com.

Windows work around use NodeMCU

To get the path of the ebrain bin that you downloaded do the following:

  • hold shift while right clicking the file
  • copy as path
  • paste this into NodeMCU's Config Tab > First Field
  • Delete Quotes

Build it yourself

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

    python3 -m pip install --user pipx
    python3 -m pipx ensurepath
  • Install Pipenv pipx install pipenv
  • run pipenv install inside the project dir
  • Install Brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Install create-dmg brew install create-dmg

A note on Linux: As described on the downloads section of wxPython, wheels for Linux are complicated and may require you to run something like this to install wxPython correctly:

# Assuming you are running it on Ubuntu 18.04 LTS with GTK3
pipenv install \
    -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 \
    wxPython

Why this project exists

Motivation

This addresses an issue the NodeMCU community touched on several times in the past, most recently at #1500 (comment).

I stated that based on my experience doing NodeMCU user support it should be a lot simpler to flash NodeMCU for Windows users.

  • A number of flashing tools are available but only two are actively maintained: esptool-ck and esptool.py. Only one is endorsed by Espressif: esptool.py (they hired the developer(s)).
  • 70% of the users of my nodemcu-build.com service are on Windows.
  • BUT Windows doesn't come with Python installed - which is required for esptool.py.
  • BUT Windows users in general are more reluctant to use the CLI than Linux/Mac users - which is required for esptool.py.

To conclude: this is not a comfortable situation for NodeMCU's largest user group.

The plan

For quite a while I planned to write a self-contained GUI tool which would use esptool.py in the background. It should primarily target Windows users but since I'm on Mac it should be cross-platform. Even though I had never used Python before I felt confident to pull this off.

Implementation

  • Uses the cross-platform wxPython GUI framework. I also tried PyForms/PyQt4 but settled for wxPython.
  • Requires absolutely minimal user input.
  • The esptool.py "console" output is redirected to text control on the GUI.
  • Uses PyInstaller to create self-contained executable for Windows and Mac. The packaged app can run standalone i.e. without installing itself, a Python interpreter or any modules.

License

Copyright 2019–2023 12787326 Canada Inc.

Licensed under the AGPLv3: https://opensource.org/licenses/agpl-3.0 & MIT © Marcel Stör

About

Self-contained NodeMCU flasher with GUI based on esptool.py and wxPython.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Other 0.1%