I am pleased to present a new application that is ESP8266Flash. This is the first such program on macOS with a graphical user interface for "esptool.py". Anyone who changed the firmware in ESP8266 probably did so using "esptool.py". Unfortunately, as it often happens, the users of macOS had no other way of changing the firmware in ESP as soon as through the Terminal. Of course this is not terrible, but it takes some time. The command to install firmware, you have to enter it yourself. And how to add to this the need to provide a path or paths to files from the firmware, it also creates a lot of opportunities to make a mistake.
Of course, the firmware does not change every day. Which does not mean that it can not be easier. That's why the ESP8266Flash application was created, make it change firmware easier and faster.
The application itself does not contain the script "esptool.py", it is a only graphical overlay on this script. This is due to the fact that this script is still being developed and it was rather hard to keep up with the updates of the ESP8266Flash program with each new version of "esptool.py".
The installation procedure "esptool.py" itself is not different from the one described in this guide. I will just add that when installing the script on a freshly placed macOS system, without the Xcode installed, the system will ask whether to install the Xcode helper tools. Of course, you must agree.
After compilation, an "esptool" folder will be created on the administrator's account and all necessary files will be included in it along with the "esptool.py" script. The "esptool" folder needs to be copied to the "Applications" folder. Thanks to this, access to the script will also be possible from an ordinary user's account. This is a prerequisite for the correct operation of ESP8266Flash.
After installing "esptool.py" it is ready to use, you can start ESP8266Flash. The application does not contain any configuration panels. All necessary data is set in the main window of the program. Besides, there are not too many of them. The configuration is limited to specifying the path to "esptool.py", selecting the port through which communication with the ESP8266 module will take place and determining the speed of this communication. The rest of the fields is used to enter access paths for files from the firmware.
The port for communication with the ESP8266 module is selected from the drop down list. The list shows only those ports that are available in the system. In order for the port to communicate with ESP8266 to be on the list, the FTDI converter must be connected in advance. If the converter is connected before starting ESP8266Flash it will be on the list immediately after the program starts, and if it was early selected it will be automatically set as the target one. In the situation when the converter will be connected after starting the application, it will be necessary to use the "Refresh" button next to the list of ports and then selected the correct port. It may happen that, despite connecting the converter to USB, the system will not see it. This does not mean that the converter is damaged. Sometimes it happens that the USB port is blocking. The mouse, the keyboard on such a port work without a problem, but for example, the USBAsp programmer or the FTDI converter will not work. In such a situation, the converter should be switched over to another USB port and if it still does not work, you should be restarted system.
Communication speed is determined by selecting a specific value from the drop-down list. Available speeds on the list are standard speeds for serial transmission. The higher the value selected, the faster the firmware will be uploaded to ESP8266. I tested all available values and there were no problems with any of them. However, if you have problems with communication at higher speeds, you should set a lower speed. On this occasion, I will remind you of something that I have already mentioned many times in the guides on ESP8266. ESP8266 modules are very sensitive to voltage quality, so you need to provide them with a stable 3.3V voltage for trouble-free communication and to ensure good connection quality.
The path to "esptool.py" is indicated by a dialog box. It is limited only to the indication of the "esptool" folder in which the "esptool.py" file is located. Let me remind you that the "esptool" folder must be in the "Applications" folder.
ESP8266Flash allows you to change the firmware stored in one file and well as divided into files. In both cases, the selection of files to be uploaded is made via a dialog box. How many files can be selected depends on the upload option selected. Selecting NodeMCU / MicroPython means that only one file should be uploaded. It does not necessarily have to be a file from the NodeMCU or MicroPython firmware. I was able to meet on the Internet the firmware with AT commands compiled into a single file. Such a file can also be uploaded to ESP8266 despite the NodeMCU / MicroPython option selected. In fact, it does not affect the upload process itself. It is only as a help for beginners. Thanks to this, the rest of the check boxes are inactive, which does not suggest having to select other files.
To upload software consisting of several files, the "ESP8266 SDK" option is used. It activates all fields of file paths. In addition, it suggests which files should be selected in the form of descriptions in each field. These suggestions mainly concern, probably the most popular version of ESP8266 modules such as ESP-01. This version also refers to the addresses of the memory to which the files will be loaded. These values are one of the basic and successfully tested on ESP-01 and on ESP-07. However, when you need to change addresses, you can easily make a change. Fields with addresses are fully editable.
To avoid problems with incorrectly uploaded firmware, it is best to use the documentation attached to it. It contains information about files to be loaded and addresses of memory. What files are uploaded depends on the version of the ESP8266 module as well as the amount of flash memory it has. This information should be obtained from the vendor of the given module from ESP8266. In the absence of such information, it will be safest to upload files based on hints in the access path fields and memory addresses set in the program.
As I mentioned before, the application has been tested with ESP-01 and ESP-07 modules. On these modules, I repeatedly made changes to the firmware using ESP8266Flash and it was always without any problem as long as I took care of the proper power supply. At the moment, the program offers only the basic functionality of the "esptool.py" script limited to uploading the firmware to modules with the ESP8266.
- v 1.0.0 (02.2018)
The first official distribution.