To get all new features it is highly recommended to run the latest stable version of the free and open source firmware for ANAVI Miracle Controller. In a previous update we explained how to build it from source and upload it through Arduino IDE. However, there is an easier way to flash the latest version with esptool!
Esptool is a free and open source ESP8266 and ESP32 serial bootloader command-line utility. The source code is available at GitHub under GPLv2 license. It is written in Python therefore it is universal and runs on Microsoft Windows, Mac OS and any GNU/Linux distribution (Ubuntu, Debian, Linux Mint, Fedora, CentOS, OpenSUSE, etc).
As of today, esptool works fine with Python 2.7 or Python 3. Python 2 has been deprecated since January 1, 2020 therefore it is recommended to use esptool with Python 3.
The easiest way to install the latest stable version of esptool is from pypi via pip. The pre-requirements are to have Python and pip installed. Open a terminal and execute the following command:
pip install esptool
write_flash argument esptool flashes pre-compiled binary to devices with ESP8266 or ESP32. Here are the exact steps:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 anavi-miracle-controller-sw-100-20200527.bin
NOTE: As of the moment the latest stable version is
anavi-miracle-controller-sw-100-20200527.bin. Over the time other version may be released so please make sure you are using the latest and replace the file name accordingly in the command above!
Pretty much the same approach can be used to flash the pre-compiled firmware to any of our dev boards with ESP8266, like ANAVI Fume Extractor, ANAVI Thermometer, ANAVI Gas Detector, etc. Apart from flashing firmware to ESP8266 and ESP32 devices, esptool has a lot of other advanced features which I encourage you to explore. Have a look at the video tutorial and run
esptool.py -h to learn more.
If you find a bug or if you want to submit a new feature don’t hesitate to join our development efforts in GitHub through opening an issue or submitting a GitHub pull request.