Staying Updated - Is that only for Humans?
How do we humans stay updated? One would consider reading a book or catching up with their favorite news channel. Keeping yourself informed is actually a necessity for survival. If we do not have the knowledge, information, and tools necessary to survive, we will surely be left behind. It's just as important for our devices to update from time to time.
If you own a smartphone or a tablet, then you are probably familiar with the way your device checks for updates over the air. Simply put, it does that automatically. While most devices have the ability to update them manually, many times, we don't bother. Our devices are so smart, and they do all the work in the background without us even noticing. Let's take a look at why our firmware updates are so important.
Every device needs an update. As our devices get more sophisticated and complex, it’s important for its operating system and the underlying software layer to be kept up to date. Updates are scheduled at specific times when a device is deemed ready for such upgrades. This could be the developer adding new features, bug fixes, or even improving security. These updates are necessary to ensure the performance of the devices. In the case of IoT devices, it would be nearly impossible to rely on something for updates as devices are used at scale.
Is Firmware & Software the same?
Firmware and software are two different things that might appear to be similar at first but varies in their function. Firmware is the hardware version of a computer program, while the software is the program itself. Firmware is the code that allows the device to control its hardware and communicate with another system. It controls the basic operations of an electronic device, such as controlling memory accesses and interfacing with peripheral devices. Software, on the other hand, is the instructions that tell your computer what to do. Firmware refers only to the portion of software stored on your device, while Software refers to all of it.
Let’s consider updates in Smart TVs as an example here. Firmware updates for Smart TVs are used to enhance the colour profile, efficiency, and other technical features. Whereas, Software updates include updates in existing software versions that might bring changes in the user interface and updates to downloaded apps on your TV. In general, updates allow the device to increase its efficiency and utility.
A firmware update could be a patch to fix some bugs in the operating system or a new feature that was added to your computer. In general, firmware updates are less frequent than software updates, but they are more important because they can give you access to new features and bug fixes. Software updates, on the other hand, are usually more frequent than firmware updates, and it's all about revisions. These could include patching up security flaws identified, and eliminating, fixing, or resolving computer bugs. Your devices may receive updates that bring new features or remove obsolete ones.
From Firmware to ‘Firmware Over the Air’
Most of you are aware that your car/automobile has an ECU on which software/firmware runs that ensures that the 100 different sub-systems constitute the construct of a vehicle right from the steering wheel to the Axle to the Immobilizer to the odometer, functions as a single coherent unit.
Have you wondered how updates to the firmware/software of automobiles used to happen in the early 1990s? Here is an article that dives into the topic of FOTA for Automotive specifically.
Traditionally, a customer had to choose between visiting a service center or having a representative from the car maker come to the customer's home to update the firmware. However, if it has the FOTA feature, a firmware upgrade is just simply a click away. Manufacturers and customers can both relax while it does the job. There's no need to open the car, and it's not at all messy as it was before.
What devices need FOTA capability?
FOTA becomes a necessity where devices or machines are expected to function in harsh and uncontrolled environments where human intervention is minimal to nothing at all. Commonly known industries characterized by harsh environments are transportation, marine, space, construction, heavy industry, and farming.
Benefits of FOTA
- In scenarios where human/on-field intervention is not possible, FOTA offers room for scalability through regular updates to meet the changing trends and customer expectations.
- Helps cut down on customer care and minimize operational costs.
- Testing is made easy as updates can be released in phases for testing before rolling out to all devices.
FOTA in Automotive Industry
One of the industries that take the most advantage of FOTA capability is the automotive industry. With electrification and autonomous/self-driving vehicles, the automotive industry must have efficient software management strategies. Brands such as Tesla have been leveraging FOTA. In 2016, Tesla updated their cars through FOTA with the self-park feature. Unlike the need to purchase new models of mobile phones to access a brand new camera, the existing car gets a new feature added without any hassle.
Similarly, industries such as agriculture, manufacturing that use IoT devices can benefit from FOTA updates as large volumes of sensors can be easily updated without incurring unnecessary costs or affecting performance.
How does a FOTA update work?
To have a detailed read on how and from where you start building the FOTA Mechanism, read on Everything about Firmware Over The Air Update.
Remember those push notifications that say software update pending? That is a type of FOTA update for mobile phones. A typical FOTA for mobile phones is a direct process that all of us have performed. The developer pushes the software update to the phone. Mobile applications are updated from the AppStore or Playstore, whereas other devices connected to the internet are updated directly from the settings panel.
For other IoT devices, there are various types of architecture available. The right architecture for that device is dependent on the ‘network layout.’ Broadly, there are three different OTA architectures — Edge-to-cloud, gateway-to-cloud, and edge-to-gateway-to-cloud.
Edge-to-cloud updates (E2C): A connected device receives
FOTA packages from a remote server. It is one of the common
architectures used for geographically distributed devices. An IIoT
device can receive updates directly from the cloud in this
E.g. Google Home, Apple Siri and the Nest thermostat are a few instances of the E2C update method.
Gateway-to-Cloud updates (G2C): A system with an
Internet-connected gateway that controls a set of local devices
gets updates from a remote cloud-based server (for example, a
telematics system). In this case, the connected devices are not
updated but rather the gateway itself.
E.g. ATMs, remote energy monitoring systems, and other banking and financial services like kiosks are examples of devices that use G2C OTA update methods.
Edge-to-Gateway-to-Cloud OTA updates (E2G2C): The edge
gateway acts as a dispatcher that downloads IoT updates from the
cloud-based server and then transmits them to another edge/gateway
or IoT device. In this case, the IoT devices should be able to
execute the update by themselves.
E.g. This method is used by devices such as field-based sensors such as temperature, humidity sensors, weather sensors and other industrial management sensor systems.
FOTA for LPWAN IoT
Conventionally, a FOTA update requires high speed and extra power. To understand better, our mobile devices always recommend a wi-fi connection, certain system storage availability, and a 50% battery or power connection at the time of device update. This is to ensure the device is able to install the update without any glitches.
However, the majority of industrial solutions that are now getting 'Smart-Connected' are leveraging the Low Power Wide Area Network (LPWAN) based networks for connectivity, long-range coverage, and efficient energy usage. Low-power WAN (LPWAN) helps low-bandwidth, battery-powered devices connect with low bit rates over long ranges.
To ensure successful FOTA updates for IIoT devices across use cases like agri-produce management, worksite monitoring, fleet management, or smart city applications, developers need to consider LPWAN-optimized incremental FOTA. An incremental FOTA update is typically smaller and only includes encoding the differences between the two files. Incremental FOTA allows developers to update parts of code instead of the need to overwrite the entire firmware package. This helps save on time and cost.
Here’s a basic flow diagram on how Firmware is downloaded and updated on a device. As a precursor, check this article on Medium.
How Cavli enables Firmware-Over-The-Air (FOTA) updates to deployed devices
Introducing the world’s first truly enterprise-grade IoT connectivity management cloud platform Cavli Hubble from Cavli Wireless, where you can securely manage & control all your connected devices, data subscriptions, over-the-air updates, and remote diagnostics. Get onboarded on Cavli Hubble to supercharge your IoT enablement journey like never before.
A successful FOTA update requires complex coordination between IoT hardware, device firmware, network connectivity, and the IoT device cloud. This usually means having your own device cloud and firmware update stack, which would require further R&D and architecture.
Cavli mitigates this issue with Cavli’s C Series - Smart Cellular IoT Modules, which have FOTA stack enabled, providing your deployed Smart Modules updates that bring in new features and crucial improvements in Security which allows your devices to be in use for years ahead.
Feel free to write to us at firstname.lastname@example.org, or you can book a demo directly with the link below.