Skip to content

Updates

rednblkx edited this page Nov 20, 2024 · 6 revisions

Setup

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)
  • Flashing
    • You need esptool

For instructions on how to use the tools to proceed with the update, read on below.

Over-The-Air(OTA) Updates

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.

Updating

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

Flashing

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>

Clone this wiki locally