Are there any standard practice/procedures/tools to perform a software update (OTA) of my c++ application across thousands of battery powered IoT nodes.

I don't want to reinvent something, and wondering if a proven/standard tool or solution already exits. Ideally something that would be power fail-safe.


I would like to make a custom smart-speaker (Alexa or Google Home) type devices, powered by battery, using RPi Zero W

  • 2
    Where comes a Raspberry Pi to play? Do you have thousands of battery powered RasPis? – Ingo Nov 15 '18 at 19:47
  • I don't have them today. I would like to make smart speaker (Alexa) type devices, powered by battery, using RPi Zero W – hassan789 Nov 15 '18 at 23:47
  • you might want to look into dev-ops tools such as puppet. – oh.dae.su Nov 18 '18 at 6:56

The professional OTA updaters include: Mender, rauc, swupdate

These are power fail safe, as they do an "A/B" update. Two images: A and B, where A is the current running image stays flashed, until the new B image is confirmed to be flashed in the OTA partition.

The following presentation gives a good overview of differences between pushing debugging images, ci images, and production images: https://www.youtube.com/watch?v=rCDZVjHHC6o

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.