What are the cons of manual firmware updates for IoT?
The most obvious disadvantage of manual firmware updates is having to retrieve and update the device yourself. This will require finding a maintenance window when the impact of downtime won’t be as great.
In addition, manual IoT firmware updates aren’t scalable, meaning that the devices may be difficult or impossible to update once they’re out of your hands. If the update is too complicated for end users to do themselves, they may have to bring their devices to you in order to get serviced.
OTA IoT Firmware Updates
What is an OTA firmware update?
Over-the-air firmware updates involve remotely updating the code on an embedded device. The update is delivered wirelessly, i.e. “over the air,” and sent directly to the device, without the need to tinker with the underlying hardware. OTA updates are typically delivered through cellular data or high speed internet.
What are the pros of OTA firmware updates for IoT?
The biggest benefit of OTA IoT firmware updates is that you can continuously add new features, fix bugs, and improve product behavior, even after the device is in the end user’s hands. You can even try out experimental features with A/B testing, sending different versions to different groups of users.
OTA firmware updates also generally save on cost. You can manage the firmware across your fleet of devices from a seamless, unified interface.
What are the cons of OTA firmware updates for IoT?
While they’re highly convenient for both IoT manufacturers and users, OTA firmware updates do have some drawbacks. For one, they require the device to be working and connected to the Internet. In addition, the device needs to be shut down and restarted in order to complete the update, which can be a problem for scheduling the upgrade.
OTA updates also fail at a higher rate than manual updates. In general, getting software to update itself is a difficult problem. In some cases the update files will fail to download to the target device. Another example is if during the update the device crashes or is powered off.
Which Update System is Right for My IoT Device?
Most IoT products will benefit from an OTA update delivery system, which has become the norm for the vast majority of devices. However, there are certain situations in which manual firmware updates would be a better fit for your IoT device.
Consider factors such as:
- Fault tolerance: Technologies such as medical devices and spaceships require high fault tolerance, due to the catastrophic impact if they fail. If this describes your product, then manual updates are probably better because they give you more control over the update process.
- Reverting to previous versions: It’s easy to add features and make changes with an OTA update system. If this new code contains a bug, however, then it’s not always easy to revert to a previous version of the firmware. You may have to release yet another update in order to fix the issue, and of course that update may also fail.
- Control: Who should control whether to release an update for general availability to all devices? Who should control whether to accept the update? When and how should devices be updated?
- Scale: Generally speaking, the more devices you need to update, the more benefit you get from OTA. Tens of devices could be updated manually, while hundreds or more can be very challenging.
- Compatibility: Do you expect your IoT product to grow such that its firmware must be updated in order to work with the rest of your software? Such a forced upgrade could be impractical with manual updates.
While OTA has long since become the standard for firmware updates, manually performing firmware updates may be necessary for certain situations or devices.
If you need advice about the best method for sending updates to your IoT devices, reach out to our experienced IoT development team that can help you develop a custom update strategy to fit your needs.