The technology landscape is constantly changing, especially for cutting-edge Internet of Things (IoT) products. Updating these devices is essential in order to add new functionality and keep them protected from malicious actors.
Years ago, software updates needed to be installed using CDs or floppy disks that you would buy at the store or receive in the mail. With faster Internet speeds, however, “over the air” (OTA) has become the preferred method of delivering updates. Nevertheless, manual updates are still an option, and may even be the preferred choice in some cases.
This article will discuss the pros and cons of the two ways to perform a firmware update: manual vs. OTA.
Firmware Updates for IoT
Hardware refers to the physical components of a computer system, while software is a collection of code and data that runs atop the hardware and tells it how to operate. Firmware is somewhere between these two concepts: software that is permanently embedded within read-only memory on a hardware device.
In order to have access to new features and fix issues, IoT products must be updated at regular intervals. This is especially important for life-or-death devices such as pacemakers and insulin pumps.
Manual IoT Firmware Updates
What is a manual firmware update?
Manual firmware updates were the only option before the introduction of OTA technology, and they’re still used in certain situations.
Typically, manual updates involve downloading the new firmware to storage such as a hard disk or flash drive and then connecting it with your device. The device usually needs to be taken apart, reprogrammed, reassembled, and restored so it can function again.
What are the pros of manual firmware updates for IoT?
The most obvious benefit of manual IoT firmware updates is that nothing can be rolled out before the end user is ready. This can be crucial in situations where the device must operate in a stable and predictable manner at all times.
Manual IoT firmware updates also have advantages in certain situations. For example, when a device refuses to turn on, or you have a weak or nonexistent Internet connection, a manual update is your only option.
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 updating your IoT device, reach out to an experienced IoT development firm who can help you develop an update strategy.