Updating node firmware using RadioHead
Just a quick note to sure what else is going on around upgrading nodes over the air
Nice! I'll have a look at the details later - thanks for the link!
From a brief first look it appears that they can't fit the code into the bootloader which is why the main firmware downloads the new firmware to an external flash first and then the bootloader picks it up from the external flash and loads it into the internal flash.
I personally don't like that approach for two reasons:
- need for additional hardware on every node just for OTA bootloading (external flash)
- less fail-save: with the bootloader executing the download you can always refresh a node even if the actual firmware has a bug that prevents it from working properly (worst case with a power-cycle to activate the bootloader). With the main firmware executing the download you would need to connect an ISP and locally program either the external flash memory or the AVR directly.