Firmware is an embedded layer of software that operates directly on hardware devices and manages their fundamental functions. It is typically stored in non-volatile memory types such as ROM, EEPROM, or Flash memory and functions as the lowest-level software required for a device to operate. Firmware is activated during the hardware’s startup process, manages input/output operations, and enables higher-level software to run.
History
The term firmware was first introduced by Ascher Opler in 1967. Opler used the term to describe the intermediary layer between hardware and software. Early implementations involved loading microcode into computer processors via writable control memory. This approach allowed hardware components to perform various functions and become more adaptable.

Firmware (Mikhail Nilov - Pexels)
Structure and Characteristics
Firmware operates independently of the device’s operating system or other software. It typically manages the boot process, controls input/output systems, and executes essential hardware functions. In modern devices, firmware is often updatable, allowing for bug fixes, security enhancements, and the addition of new features.
Types and Examples
Firmware can be categorized into multiple levels:
- Low-level firmware is stored in non-volatile memory and cannot be altered.
- Mid-level firmware is updatable and serves as a bridge between hardware and software.
- High-level firmware contains software-like features, expanding a device’s overall functionality.
Additionally, subsystem firmware operates within components such as processors, graphics cards, hard drives, and network adapters. There are also custom or open-source firmware variants, developed by independent communities or developers as alternatives to manufacturer-provided firmware, offering greater control and customization options.
Examples include OpenWrt (used in routers) and LineageOS (used in mobile devices).
Updates and Security
Firmware updates are critical for improving device performance, adding new functions, and fixing security vulnerabilities. In particular, IoT devices require remote updates via Over-the-Air (OTA) methods, as they often operate on open networks and are vulnerable to attacks. Incorrect or incomplete firmware updates can cause devices to malfunction or become inoperable (commonly referred to as “bricking”). For this reason, firmware updates must be applied carefully.
Special Cases: Proprietary and Open Firmware
Firmware can also be classified according to access and usage rights.
Proprietary firmware is provided by manufacturers and generally cannot be modified by users. Such software may pose security risks since faulty or malicious code can affect the entire device. In contrast, open-source firmware is created by developer communities or independent organizations. It offers greater transparency and user control. Examples include OpenWrt and LineageOS.
Applications
Firmware is used in a wide range of devices including computers, smartphones, routers, printers, televisions, storage units, networking equipment, and industrial machines. Modern examples include operating software for smart TVs, UEFI-based systems, and firmware managing the read/write algorithms of SSDs.


