WROOM_Flash
A tool for flashing ESP32 and ESP8266 chips
Installation
Using git clone
$ git clone https://github.com/rdslade/WROOM_Flash
$ cd WROOM_Flash
Using downloads
- Download WROOM_Flash.zip
- Unzip or open the file in the desired location
How to use
This program relies on the Espressif esptool command line interface for working with ESP chips in bootloader mode. If there are any questions about the module itself or the configuration of the bootloader circuit, reference the link above.
This program requires the chip to be placed into bootloader mode as specified by this section in the Espressif documentation.
Layout of the Firmware directory
All firmware that needs to be loaded is located in seperate directories within the Firmware
directory. In each folder, each individual binary file needs to be placed along with a text file named map.txt
. This text file specifies where in flash each binary file should be loaded and the format of the file is crucial to the flash working. Below is an example of a map.txt
file.
ESP8266-v1.6.1 Firmware map.txt
0x0 boot_v1.7.bin 0x1000 user1.2048.new.5.bin 0x1fc000 esp_init_data_default_v08.bin 0xfe000 blank.bin
Layout of prodCfg directory and the main function
There are multiple text files in the prodCfg/
directory which speicify which COM ports are used for programming. For production purposes, there are two such text files each specifying 4 COM ports. The main
function in main.py
instantiates two different windows using the two seperate text files for initialization. This main
function can be edited to only open one window or whatever configuration is needed.
Run program
There are two modes in which this program can run: production and normal.
Production Mode
In production mode, many of the options are removed from the user such as the firmware choice. This is meant to reduce accidental selection of unwanted configurations. In order to run in production mode, perform the following with the correct set up described in the prodCfg
directory.
py main.py prod
This will initialize two windows with minimal options. Each ‘station’ should be populated with the COM ports listed in the prodCfg
directory.
Normal mode
Normal mode has a similar set up to production mode, except the graphics window will have more configuration options available at run time. The configuration comes from the same location as listed above.
py main.py
Notice that no command line arguments are needed to run in normal mode.
Start the flash
Starting the programming of the module is done with the use of an external COM port. In this case, the COM port is connected to the button on the Espressif fixture. The button press (lowering handle on fixture) signals the start of the program.
This feature can be easily changed and will be configurable by the user in the next release. For the time being, if manual START button is wanted/needed, please contact the creator.