Skip to content
Hardware & devices

Firmware

The software stored in a device's non-volatile memory that controls its hardware directly, from boot code to the application logic of an IoT product.

Firmware is the program a device runs from flash memory when it powers up. On a microcontroller it is everything: drivers for the peripherals, the radio stack, the application that decides when to sample and send, and usually a small RTOS underneath. On Linux-based devices the word tends to mean the lower layers, the bootloader and kernel image, with applications treated separately.

In IoT, firmware is where most vulnerabilities live and where most fixes have to be delivered. A product that cannot receive an OTA update is frozen at the security level of its ship date. Good firmware practice therefore includes signed images, a fallback slot so a failed update does not brick the device, and a software bill of materials listing the libraries inside. The guide on device management and OTA updates covers the update side.

Part of the IoT Glossary. Spotted an error or a missing term? Tell us.