When you start working with ESP8266-based boards, like ESPino, you usually program them directly from the same tool you use to write your program, like the Arduino IDE, this is convenient because with just a click, the IDE compiles and uploads to the board the latest changes you just made to your code.

However, once this project becomes a product and reaches the production stage, this process stops being practical - You don't want to install the IDE, share all your code and recompile it in every PC at the factory - in fact, it is probable that you, the developer, won’t even be present in the factory, but other operators will be responsible of loading your program onto the production boards.

Thus it’s a necessity for the operator to get an easy to use tool, a foolproof tool.

At Makerlab we reached this stage with one of our projects, thats why I developed a little multiplatform graphical application that eases the flashing of production boards from precompiled binaries (with .bin extension). You simply have to load the file in the UI once and press the “Upload” button.

Note: There are other graphical utilities for programming the ESP8266, mainly for Windows, (like esp8266-reflash and nodemcu-flasher). We needed a program that ran on OSX and Linux.

Technical details

This application doesn’t directly program the ESP8266, it makes use of a command-line tool called esptool-ck, the same one that is used by the ESP8266 libraries for Arduino.

The application was written in C++ with the Qt 5 libraries. I used these tools mainly because I was curious for working with Qt again, as it was the first UI toolkit I used when I started programming years ago.

I was impressed by the ease of use of Qt, despite being C++, a language that a lot of new software developers see as “too low level”. A great advantage of this is speed, in addition that with the same code you can have a native appearance for OSX, Windows and Linux.

Great! Where is the download button?

You can get the source code and installation instructions in Github: https://github.com/Rodmg/esptool-gui

Binaries:

- macOS and Windows: https://github.com/Rodmg/esptool-gui/releases

- Linux: If there is enough interest, I will pack it for Ubuntu when I have the time, or better yet, if you can help me compiling and packaging for your favorite distribution don’t hesitate on making a pull request on github.