BLOG
What is Firmware? Why Does it Matter for IoT?
What is Firmware?
What’s considered “firmware” can be quite broad, from control software all the way up to embedded Linux. In general, an easy way to think about firmware is that it is code running on hardware that is critical to the hardware’s operation. It interacts with the hardware’s electrical components and is traditionally infrequently updated. This may be because it is physically inconvenient or operationally untenable to do so, either way, this lack of change helps explain the “firm” in firmware (more on this later).
Today, embedded firmware lives in everything from smartphones to internet of things (IoT) devices that are so simple you might not think they had computer control. For instance, the firmware in a smart light bulb may not need frequent updates, but the firmware on a smart thermostat may need to be updated more often to stay compatible with updates to smartphone operating systems.
Firmware Security
Hackers have targeted platform firmware as a place to embed malware and hide other malicious code that can ultimately compromise a system. As such, it’s hard to overemphasize the importance of considering security when developing firmware for Internet-connected devices. Because we at Very care a lot about IoT and our clients, we are also deeply concerned with developing secure firmware and applications. Check out this blog post to learn how we do it.
What Are Firmware Updates?
Firmware updates are often pushed to fix bugs, roll out new features or improve security. Some internet-enabled devices regularly check for new firmware and automatically download and install it. In contrast, other device manufacturers require the user to visit the manufacturer’s website to download firmware updates and install them manually. You can expect to see firmware updates for everything from our car stereos and video game consoles to smart light bulbs.
One common example of firmware is your desktop printer. Printer firmware is the program stored inside of a printer that allows it to receive information from your computer and turn it into a printed image. While you may not think it’s important to install these updates, installing firmware updates can help repair bugs in existing firmware, which can increase the life of your printer. Other updates fix issues with printing speed or compatibility with different file types.
OTA Firmware Updates: Crucial for IoT
In the early days of IoT, in order to make any firmware updates, you had to retrieve the device, take it apart, connect it to your computer, reprogram it, put it back together, and return the device to the field. As time progressed the industry has shifted to over-the-air (OTA) firmware updates, but the early days were rife with updates causing intermittent disruption and performance degradation.
Even today, stories will make the news about large companies “bricking” consumer products as they try to get this right. As IoT platforms matured, skilled developers in this industry have invested large efforts into mastering updating connected devices remotely and reliably with little to no disruption and great confidence.
OTA firmware updates are a critical factor for IoT success because they drive the reliability, extensibility, and security of connected devices. When a bug that affects business logic or security is discovered, it can be updated right away. If new features are developed, you can push them to your deployed Things, ultimately netting more value out of every device in your fleet.
Firmware is a large portion of all of the little cogs that make our world turn, and its presence will only continue to grow. Getting firmware right the first time is difficult. You have to manage everything from security to business logic to networking, all at some point on remote devices. Being able to leverage OTA firmware updates helps alleviate these problems, but it also introduces its own complexities.
We at Very have invested countless hours in mastering this craft and have the track record to show it. If you need any help, just let us know!