IoT devices
27.06.2023

Helpful tips for updating IoT devices

Updating IoT devices is a minefield. It’s crucial to plan now for a bug-free, secure, and operational global fleet. Here are several key points to remember.
michael bosson
Michael Bosson

Content Specialist at Onomondo

In a perfect world, we wouldn’t need to update internet of things (IoT) devices. They would magically be ready for anything the future had to throw at them.

In the real world, firmware and software updates are essential.

Unfortunately, updating IoT devices isn’t always easy. For example, it can be hard to set up a reliable connection with remote devices, deal with update errors, handle technology obsolescence, and even figure out which devices need to be updated.

This article covers the basics of IoT device updates, common challenges, and actionable solutions. Let’s begin!

An introduction to updating IoT devices

IoT devices need updates because of bug fixes, security updates, new features, and technological change.

As part of their device management features, IoT platforms like IBM’s Watson IoT Platform, AWS’s IoT Core, and Microsoft’s Azure IoT Hub can handle the firmware management of IoT devices. Thankfully, most IoT devices can connect to any major cloud-based IoT platform and update themselves.

In between the device and the cloud is the connectivity medium. Here we will mostly talk about cellular technology, which is extremely popular thanks to its high level of standardization and global ubiquity.

According to Nordic Semiconductor, “Cellular is designed for very high Quality-of-Service (QoS). There are a known number of connections and these can be accommodated and managed accordingly. Unlicensed bands have no such guarantees, and anyone can operate there. For guaranteed performance and reliability, licensed cellular is a clear winner for LPWAN.”

Cellular connectivity is typically tasked with providing a stable connection and a path for over-the-air (OTA) updates for IoT devices. OTA updates are important because most devices, apart from smart home devices and wearables, don’t have much contact with people. They need to be updated remotely via OTA updates.

Platforms for managing IoT connectivity, such as Onomondo’s IoT connectivity platform, play a vital role in managing connectivity, identifying issues at scale, and enabling OTA updates.

Package vs. Image Updates

There are two common ways of updating IoT devices: package updates and image updates.

Package updates, aka delta upgrades, only change a small part of the software. This reduces data and power consumption as well as the time needed to transfer and apply the update. Package updates are tricky on embedded systems, mainly because they typically don’t support an operating system (OS) that supports the process.

Image updates are larger but offer greater consistency between the test and production environments of deployed devices. This type of update is more common for embedded systems.

Updating IoT devices: Image vs Partial OTA Updates.
Image vs Partial OTA Updates.

A typical image update for an IoT device would look like this:

  • You typically have two slots for applications on an IoT device.
  • When your device is in normal operation, it will boot from slot 1.
  • When you receive an update, you store it in slot 2 and restart the device.
  • The bootloader will then verify the new update and swap the two slots.
  • The device has now received an image update.

Since you didn’t do a delta upgrade, you have a full backup in slot 2 that you can fall back to if there was a critical error.

Why is it hard to update IoT devices?

It is not always the case that IoT device updates are successful. There are multiple issues that can arise. Here’s a list of the most common ones.

Managing updates

Keeping an up-to-date inventory of your assets and knowing whether or not an update for your IoT device is available can be difficult, despite how simple it may sound.

Once you have a picture of all the devices that have been deployed and whether or not they need updates, you’ll need to figure out how to prioritize updates, thoroughly test updates, and deploy them without hurting your and your customers’ businesses.

Update failures

One of the most challenging obstacles when updating IoT devices is overcoming update failures.

There are a lot of different things that can go wrong during a firmware update, such as:

  • Corrupted firmware,
  • Critical power failure, or
  • Unreliable connectivity.

In the event of an update failure and device malfunction, the task at hand is to get it back into working condition while causing as little disruption to business operations as is humanly possible.

Cost

Devices deployed on a large scale might be traveling around the world on shipping containers, measuring gas levels in hard to reach places, or monitoring soil moisture levels underground.

Most IoT devices are impossible to reach via cable due to the nature of typical IoT use cases. If reachable, the cost of manually updating IoT devices could ruin the ROI of an entire project.

As a result, OTA updates using radio technology are much easier to manage if they are not simply required.

However, using radio technology to update devices can be expensive. Receiving large amounts of data through radio can be costly and drain batteries quickly.

How can update problems be avoided?

Fortunately, there are ways in which problems with updating IoT devices remotely can be solved. Let’s take a look at some common solutions to update failures.

Rollback

IoT Cloud Platforms offer ways to fix a failed firmware update, such as a firmware rollback to restore the last good version or a factory reset if the version can’t be rolled back due to corruption.

But be aware that this is often only true for “high power” devices (linux based systems, for instance).

For smaller devices, it is normally up to the device to recover. The device will determine if it needs to roll back, independent of the cloud.

Testing

Finding problems before devices are deployed at scale is vital. There are a few things to think of here which can help.

Test a range of equipment (sensors, modems) rather than relying on manufacturer specifications. By testing multiple devices, you are less likely to be disappointed when an advertised feature doesn’t work as well as you thought it would. You’ll also be able to select the components that perform best for your use case.

Test solutions where you plan to deploy them. By testing devices on a live cellular network before deploying at scale, many problems that don’t come up in the lab setting can be avoided and new efficiencies discovered.


Start testing Onomondo for free

Ready to experience next-generation IoT connectivity? Create an account, explore the platform, and start testing Onomondo’s IoT SIM cards for free.


Monitoring

Being able to swiftly recognize and fix software update problems is crucial.

IoT cloud platforms have tools for keeping track of the condition of a fleet. These platforms include features that collect, analyze, and act on data to boost availability and performance. This helps you see how your devices are doing and detect issues affecting them.

A lot of people who make IoT solutions don’t realize the depth of insights the network can give them. Onomondo offers customers real-time traffic monitoring, signaling logs, and network logs on its global cellular IoT network. Knowing exactly what is happening between your device, the network, and the cloud is quite useful.

Be aware that Onomondo is unique compared to other MNOs and MVNOs in its ability to offer deep insights. This is possible because Onomondo’s core network is fully integrated with over 700 radio access networks (RANs).

Minimize logic on devices

Less logic on devices to update means fewer problems and lower battery and data costs.

Moving computation logic from devices to the cloud means less software to update and cheaper devices. Additionally, putting connectivity logic in networks rather than devices keeps them resistant to change.

Consider Google, which will discontinue its IoT Core in August 2023. Although Google’s removal of resources from a project isn’t unexpected (The Google Graveyard is well occupied), it hurts all users who have built businesses on Google’s technology. Migrating to a new cloud platform and configuring devices to connect is going to waste countless hours.

By putting cloud connectivity logic (SDKs) into the network rather than on devices, changing cloud partners in such an event is streamlined and devices are more robust going forward.

With Onomondo Connectors, data security and steering are built into the network so your device use less data and power. Book a demo to find out more!

Moving connectivity logic to the core networks also means that updates use less data and have a lower chance of losing packets. This means that updates are less likely to fail.

Other considerations

There are many other recommendations to keep in mind when updating IoT devices. Suggestions include a gradual rollout of updates when updating an entire fleet, prioritizing updates based on factors such as updating idle devices first, and, of course, security considerations when making device updates.

We haven’t delved into those here because they are more-or-less standard practice, but nevertheless need to be kept in mind.

Plan for change

A smart approach to developing technology is to look back 15 years to plan 15 years ahead.

IoT devices will inevitably need to adapt to change — the majority of modern IoT cloud platforms today didn’t exist 6-7 years ago.

In tech, look back 15 years to plan 15 ahead.
Look back 15 years to plan 15 ahead.

Onomondo is unique in the way it helps users build robust IoT solutions. Users can achieve a lot without the need to reconfigure devices by making the network play a more active role.

All the complexity around connectivity occurs in our core network, not on devices. Using Onomondo’s platform and API, users can switch cloud platforms, update network lists, and see real-time connectivity insights.

The easiest way to help your devices be ready for the future is to move configuration from the local logic to the network logic. It saves time, money, and battery. And can ultimately save devices.

Build your
own network

Enhance signal quality and network control with non-steered SIM cards. Connect all your devices securely to a global network with Onomondo IoT SIMs.

Start testing Onomondo for free

Ready to experience next-generation IoT connectivity? Create an account, explore the platform, and start testing Onomondo’s IoT SIM cards for free.

Related articles

Read more about the topic

LTE-M vs 2G
Articles
LTE-M vs 2G: A critical comparison for IoT deployments
Cellular networks IoT Strategy
Explore the critical LTE-M vs 2G transition for IoT: better security, power efficiency, and future-proof connectivity as 2G networks sunset globally.
A new chapter at Onomondo
Articles
Onomondo reshapes telecom and now accelerates growth with strengthened leadership
Press Release News
Onomondo is entering an exciting new phase with a leadership transition that strengthens our ability to support customers and scale our platform.
Onomondo Syniverse collaboration
Articles
Onomondo and Syniverse break legacy barriers to simplify IoT connectivity
Press Release News
Onomondo and Syniverse are joining forces to enhance global IoT connectivity with robust, secure, and efficient solutions for global IoT data transmission.