Hey all, I’m working on an IoT-based device using the ESP32-WROOM module, and I’m implementing over-the-air (OTA) firmware updates via a simple web server. I followed a helpful tutorial that laid the groundwork for the architecture: [
(Create a Web Server with ESP32 - The Engineering Projects) It clarified the role of partition tables and rollback strategy.
So far, updates work on small builds, but I’m running into stability issues once the firmware size exceeds ~1MB. I’ve reviewed Espressif’s OTA update best practices here: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/ota.html . Has anyone here used DigiKey-sourced ESP32 modules in production with OTA and faced similar flash layout concerns? Any tips for managing memory limits while keeping update reliability?
Hello ariajames028,
Welcome to the DigiKey TechForum.
I’m not familiar with the programming of this device.
The TechForum is monitored by Engineers that should be able to help with this.
Good luck with the projects.
esphome might be a good one to look at, as they do build checks to verify your build binary will fit into the final device and they have a pretty complex ota system:
I see some non-trivial fun ota changes here: History for esphome/components/ota - esphome/esphome · GitHub
the folks behind pioarduino which esphome use, just have you use the external ota tool: platform-espressif32/builder/main.py at main · pioarduino/platform-espressif32 · GitHub (and don’t do a ota web example: platform-espressif32/examples at main · pioarduino/platform-espressif32 · GitHub )
Definitely not trivial..
Regards,