← index #12302PR #18540
Off-topic · high · value 3.963
QUERY · ISSUE

ESP8266/ESP32: inplace firmware upgrade using the image file stored on the file-system

openby xuancong84opened 2023-08-25updated 2024-05-18
enhancement

In practice, it would be very useful to be able to upgrade firmware in place using the firmware image file on the file-system. In fact, all mobile devices (like smartphones), IoT devices (like routers, robot cleaners, smart fans and smart lights), can do firmware upgrade from the firmware image file that is downloaded from the cloud and stored on the file-system.

Thanks to @yaota8266, that ESP8266 MicroPython does have the OTA build, however, it is not very useful but very restrictive. In particular, it requires you:

  • to press some button to start upgrade. So if the device is installed on the ceiling fan, ceiling light, or inside some big box appliance, it is very inconvenient to start firmware upgrade
  • to set Wifi credentials into his system which should be handled by the software web server part, instead of the OTA module (quite a lot of redundancy)
  • Moreover, it has to pre-allocate 2 big flash spaces for the firmware, where only 1 is active at a time. This wastes too much executable flash space (only the 1st 1MB). As MicroPython grows bigger with more functionalities, 1MB cannot fit 2 copies very soon.

Therefore, the most useful way of doing OTA is to do firmware upgrade from the internal flash storage file-system, triggered by calling a function or upon system reboot.

CANDIDATE · PULL REQUEST

esp8266: Remove OTA variant from ESP8266_GENERIC board.

mergedby dpgeorgeopened 2025-12-10updated 2025-12-16
port-esp8266

Summary

The OTA variant of the ESP8266_GENERIC board was never fully completed in its functionality and has not been tested in a long time (by me at least).

It relies on the https://github.com/pfalcon/yaota8266 component which was also never fully finished and has been unmaintained for many years.

This PR removes this variant and it's associated build support. It makes it an "old_variant" as per #18539 so the existing historical firmware is still listed on the download page.

Testing

I haven't done any testing, but there's not much that can be done.

Trade-offs and Alternatives

We could keep this around, but the esp8266 is now a Tier 3 port, so makes sense to streamline it a little to ease maintenance.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied