Over-the-Air Updates for IoT: What They Are and How to Approach Them
Over-the-air updates, or OTA updates, are being explored by nearly every IoT project today. They are being helmed as an integral part of any digital project required to ensure security and efficiency for IoT devices.
What to expect: This blog post discusses the importance of OTA updates, for both consumers and developers. We also take a look at how OTA updates work and how they can be used to improve user experience across industries.
What are over-the-air updates?
Have you ever wondered how smartphones, tablets, or smart home systems stay up-to-date with the latest features and security patches? The answer is simple: over-the-air (OTA) updates.
OTA updates are basically wireless software updates that enable the installation of new features, enhancements, and security patches without any physical intervention. They were first introduced in the late 1990s, but they have come a long way and support a wide array of devices today, such as:
- Smartphones and tablets
- IoT devices and smart home systems
- Connected cars and infotainment systems in vehicles
- Wearables and health devices
- Other applications like digital signage and industrial equipment
Why do we need OTA updates?
Here's why OTA updates are a big deal:
- Continuous Improvement of Software and User Experience: OTA updates ensure that devices get the latest software improvements so that the users enjoy a better user experience consistently.
- Security enhancements and Bug Fixes: OTA updates counter any vulnerabilities present in the devices, protecting them from security threats and fixing any annoying bugs.
- New Features and Upgrades: Device manufacturers can add new features and upgrades through OTA updates, increasing device functionality and value over time.
- Compatibility: OTA updates help maintain compatibility between devices and their associated ecosystems, ensuring seamless interoperability.
- Cost and Time Savings: By going wireless, OTA updates save everyone time and money—manufacturers and users alike.
How do OTA Updates Work, Anyway?
We have previously discussed OTA updates in our IoT architecture post in brief. Here we would like to dive deeper into the workings of Over-the-air updates. Let us first take a brief look into the overall architecture to understand the mechanism better.
There are five major levels to a comprehensive IoT architecture.
- The hardware layer comprises the IoT devices themselves. These could be smartphones, connected vehicles, or basic GPS trackers.
- The firmware layer of the architecture is also built upon IoT devices. The software which enables the devices to process the collection and transfer of data is known as firmware.
- The connectivity layer allows the devices to send the collected data to the cloud. Various connectivity protocols such as Bluetooth, WiFi, or Zigbee may be used to accomplish the transfer of data.
- The cloud is divided into two separate layers. The first is the platform layer, which acts as the backend of the entire system and enables complex processing of data as well as its storage.
- The application layer of the cloud allows users to interact with the platform. They can use the application to access features such as telemetry, OTA updates, and more.
Now that we have a functional understanding of the IoT architecture, let us take a look at how OTA updates work.
Let's say you are an automobile manufacturer with a fleet of connected vehicles. If you stumbled upon a bug that causes the vehicles to overheat, what would you do?
This is not just a hypothetical exercise, as overheating in vehicles is a known problem and a major safety concern for users. For traditional vehicles without connectivity, the manufacturer would have to recall all the vehicles to fix them. But now that these vehicles are connected, there is a better option: OTA updates.
You can push an update to the entire fleet remotely, which uploads a patch to the vehicles, overcoming the heating issue. Let us take a look at how that would look from a technical POV.
For simplicity, we have reduced the architecture layers to cloud, connectivity, and device here. The diagram above shows us how a manufacturer could push OTA updates to the entire fleet.
- You would first need to log in to the cloud application and check the device status. This could be for a single device or the entire fleet.
- Once you have determined the overall device health, you can then upload the patch to the platform.
- The platform will then connect to the device gateway through connectivity protocols to send the update.
- The gateway device will receive the update and send it to other devices.
- Meanwhile, the gateway device will send process updates to the platform through connectivity protocols, which the user can monitor on the application.
- Once the update is installed on all the devices successfully, a completion alert will be sent to the platform and the user will receive a notification on the application.
This process is how OTA updates are undertaken, however, there could be variations according to the project.
Potential risks and challenges
OTA updates can dramatically reduce overheads by taking care of issues remotely, and improve the overall security of any IoT device. But they also present potential risks and challenges, such as:
A. Security Concerns: Unauthorized updates, i.e. updates coming from an unauthorized source can compromise the device security. This can be mitigated by ensuring that the device authenticates the updates before installing them.
B. Failed Updates: A failed update can render a device unusable or "bricked," requiring manual intervention or replacement.
C. Network Congestion and Data Usage: Large-scale updates can strain network resources, while users on limited data plans may face increased data usage.
D. User Privacy and Data Protection: Ensuring user privacy and data protection during the update process is crucial, particularly for devices containing sensitive information.
Best Practices for OTA Updates
There are certain things that you can do to mitigate the risks associated with OTA updates. To make the most of OTA updates, developers and users should follow these best practices:
A. For Developers:
- Test, Test, Test: Make sure updates are bug-free to prevent bricking devices.
- Communicate with Users: Let users know about updates, changes, and how their devices might be affected.
- Deliver Updates Efficiently: Keep update file sizes small and use smart distribution methods to avoid network congestion and data usage issues.
- Smart rollout: roll out to a small version of the fleet first and after a week of observation roll out to the rest.
- Encourage updates: Actively nudge users to update their devices, especially for security updates
- Have a plan B: On the device side implementation have a way to automatically roll back updates if things fail.
Additionally, If your device has multiple systems to update then it is useful to have a single version for all the firmware put together and released at once. As opposed to allowing arbitrary versions for each ECU. If you do the latter, you will have 10 versions of BMS in the field and every time you update the charger, you will have to test it against all 10 versions of BMS before releasing. Instead, if you update the previous release of BMS and then update the charger, only the devices with an updated BMS will get the new charger version and the devices with older versions of BMS will get both the BMS and Charger updated to the latest version. This way you only have to test the latest version with the update.
B. For Users:
- Stay Up-to-Date: Keep your devices updated for top-notch performance and security.
- Check Update Sources: Make sure updates come from trusted sources before installing.
- Backup and Protect: Regularly back up data and follow data protection measures to safeguard your information.
OTA updates use cases
We have dove into the working of OTA updates and understood the mechanisms. Now let's take a look at real-life examples where OTA updates have saved time, money, and other key resources for manufacturers, and made life easy for users.
OTA to the rescue for Samsung
Recently, Samsung realized that a particular model of their washing machines posed a fire hazard to its users. Now commonly, Samsung would have to recall these units to ensure customer safety. But thankfully, the problem could be solved with a simple software update.
As opposed to sending service personnel to update each machine, Samsung just send out an OTA update to all the faulty models to ensure that the machines wouldn’t catch on fire. For the customers that couldn’t connect their machines to the WiFi, Samsung sent out dongles to allow customers to update their machines.
This easily saved thousands of dollars for Samsung and only goes to show how OTA updates can be employed to improve safety concerns as well as user experience.
Processing woes with Tesla
Last year, nearly 130,000 Tesla cars were found to have an issue with their center screen CPU. The models that were affected were:
- Tesla Model 3 2022
- Tesla Model S 2021-2022
- Tesla Model X 2021-2022
- Tesla Model Y 2022
Recalling thousands of cars is not only a major financial liability, but it would have also irked Tesla customers greatly. Fortunately, Tesla could fix the problem by pushing an OTA update to patch the problem remotely.
The high connectivity of Tesla cars is one of its major USPs as physical recall of vehicles is close to nonexistent for any bugs in Tesla cars.
As our digital world continues to grow and evolve, OTA updates play an increasingly important role in keeping our devices up-to-date, secure, and feature-rich. As users, it's essential to stay informed and engaged with the update process, while developers should strive to deliver seamless, secure, and user-friendly updates. So, the next time your device prompts you to update, you'll have a newfound appreciation for the behind-the-scenes magic that keeps your gadgets running smoothly and safely.
If you like this post, subscribe to our blog where we discuss key concepts in IoT, industry updates, and more!