I have an ESP32 project which I'd like to be able to update OTA. The trouble is that it is in deep sleep for approximately 15 minutes before waking up, connecting to WiFi sending an MQTT packet then going back to sleep.

I would like to be able to have a webpage hosted on a Raspberry Pi with a repository of datestamped .bin files that the ESP32 can connect to, check it's current version against the available options, if there is an applicable update, go through the standard OTA update protocol, or if there is no new available version, don't check again for 24 hrs.

How do I go about this?

  • 1
    HttpUpdate library. the esp32 version is without a documentation, but here is the similar esp8266 HttpUpdate library doc arduino-esp8266.readthedocs.io/en/latest/ota_updates/…
    – Juraj
    Commented Jun 10, 2019 at 12:15
  • I remember seeing something about this a while ago and it must have stuck in my head, but I hadn't thought about using it for ESP32. Do you know if the ESP32 version will work by using the ESP8266 documentation? I can't imagine they'd be too different
    – Tanenthor
    Commented Jun 10, 2019 at 12:21
  • the esp32 version has examples too
    – Juraj
    Commented Jun 10, 2019 at 13:04
  • I used the library mentioned by Juraj some time ago on an ESP32 in the exact way you described. I remember that it was straight forward to use. Looking at examples is all you need to do
    – Sim Son
    Commented Jun 10, 2019 at 16:05
  • Thank you very much :) I will try it all out
    – Tanenthor
    Commented Jun 10, 2019 at 23:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.