@Const
А в чем собственно проблема?
В СДК есть классы которые этим и занимаются,
как для esp8266 (extern UpdaterClass Update;)
так и для esp32 (extern UpdateClass Update;)
Эти классы используются в примерах
hardware/esp8266com/esp8266/libraries/ESP8266WebServer/examples/WebUpdate/WebUpdate.ino
espressif/esp32/libraries/WebServer/examples/WebUpdate/WebUpdate.ino
Web в примерах всего лишь способ доставки прошивки на устройство, никто не запрещает использовать что-либо другое.
Примеры дают представление о том как выполняется обновление, т.е. сценарий в котором сначала выполняется Update.begin, затем серия вызовов Update.write и финальный Update.end
Пока не очень понятно что требуется?
Что такое автоматически (при включении или по расписанию)?
Нет определения условий по которым нужно что-то обновлять, нужно ли вообще что либо скачивать, возможно прошивка актуальная.
По какому протоколу скачивать? и как проверять подлинность источника (можно скачать всякую каку).