How to ensure reliable OTA updates with FreeRTOS on ESP32 and handle failures?

Hi guys I'm implementing OTA updates for an ESP32 project running FreeRTOS to add new features and security patches. The update process often fails mid-way with the error message "OTA Update Failed: Incomplete Write," leaving the device in an inconsistent state and non-operational. Integrating OTA functionality with existing FreeRTOS tasks causes system instability, with tasks being interrupted during critical operations. How can I ensure seamless and reliable OTA updates on ESP32 with FreeRTOS? What are the best practices for handling failed updates and ensuring a rollback mechanism to maintain system stability?
Solution:
For Embedded Linux, I use Mender. I know they are working on integration with ESP32 https://mender.io/blog/mender-ota-on-the-esp32-part-1...
Mender OTA on the ESP32, Part 1 | Mender
The “DNA” of Mender has two core ingredients: first, care about connected device security and second, care for the users responsible for device management.
Jump to solution
2 Replies
Solution
Ming
Ming4mo ago
For Embedded Linux, I use Mender. I know they are working on integration with ESP32 https://mender.io/blog/mender-ota-on-the-esp32-part-1
Mender OTA on the ESP32, Part 1 | Mender
The “DNA” of Mender has two core ingredients: first, care about connected device security and second, care for the users responsible for device management.
Joseph Ogbonna
Joseph Ogbonna4mo ago
Tutorial: Perform OTA updates on Espressif ESP32 using FreeRTOS Blu...
This tutorial shows you how to update an Espressif ESP32 microcontroller that is connected to an MQTT Bluetooth Low Energy proxy on an Android device. It updates the device using AWS IoT Over-the-air (OTA) update jobs. The device connects to AWS IoT using Amazon Cognito credentials entered in the Android demo app. An authorized operator initiate...
Want results from more Discord servers?
Add your server