-
Notifications
You must be signed in to change notification settings - Fork 30
Updates
Files needs from the releases page:
-
esp32xx-firmware.bin
- this contains the actual code and is what we need for the update(OTA or Flashing) -
esp32xx-littlefs.bin
- this includes the HTML files for the Web Interface and only needed when updating(OTA or Flashing)
You can update the firmware in two ways:
- Over-The-Air (OTA)
-
You will need to download
espota
, this can acquired from the Arduino-ESP32 repository and is available in two versions as follows:- Windows executable
- Python Script for Linux/MacOS
-
- Flashing
- You need
esptool
- You need
For instructions on how to use the tools to proceed with the update, read on below.
No one likes to have to rip the device from its very well put place just to do a software update for 2 minutes, fortunately, for this reason, the OTA update mechanism exists and allows you to update the device without even leaving your desk.
As the project is currently written on top of the Arduino framework, the OTA mechanism was implemented through ArduinoOTA with the help of the HomeSpan library that also provides the HomeKit functionality.
Once you acquire espota
, you can use the following command to upload esp32xx-firmware.bin
:
- For Windows
espota.exe -r -i <address_of_device> -a homespan-ota -f <esp32xx-firmware.bin>
- Linux/MacOS
python espota.py -r -i <address_of_device> -a homespan-ota -f <esp32xx-firmware.bin>
Important
Once the above is finished with success, use again the same command but replace esp32XX-firmware.bin
with the location of littlefs.bin
and also add -s
so it knows it's meant for the spiffs
partition.
Example: python espota.py -r -i <address_of_device> -a homespan-ota -f <littlefs.bin> -s
Note
Note the use of -a homespan-ota
homespan-ota
is the password used to authenticate the OTA update, this can be changed on the WebUI in the Misc section
When updating is recommended to do it via OTA as that implies some checks and hopefully prevent some uneventful things, however, if you still want to update over USB you can use the command python esptool.py write_flash 0x20000 <firmware.bin> 0x200000 <firmware.bin> 0x3e0000 <littlefs.bin>