Firmware

Firmware is software stored in non-volatile memory inside a hardware device, giving that device its built-in behavior: it is the code that runs when the device powers on and that makes the electronics act as a keyboard, a router, a solid-state drive or a thermostat. The name reflects its position between hardware, which is fixed physical circuitry, and software, which is easy to replace. Firmware is software in every technical sense, but it lives close to the hardware, is written for one specific device or family, and is changed rarely and with more care than ordinary programs.

The word firmware was coined by Ascher Opler in a 1967 article in Datamation, referring to microprograms held in a writable control store, and it has since broadened to mean all device-resident code. Early computers implemented instructions with hard-wired logic; microprogramming, introduced by Maurice Wilkes in the early 1950s, replaced that wiring with stored control sequences called microcode, which could be changed more easily than wires. Over time the storage technology moved from read-only memory fixed at manufacture to erasable programmable memories and then to flash memory, which can be rewritten electrically in place. Today firmware is found in nearly everything with a chip: network cards, hard drives and SSD controllers, printers, cameras, game controllers, USB devices, smartphone modems, pacemakers, cars and household appliances, and a single laptop contains dozens of separate firmware images running on different chips.

Firmware does a small number of jobs: it initializes the hardware, runs the device's core function, and offers an interface to whatever sits above it. In a simple device such as a microwave or a keyboard, the firmware is the whole program, scanning inputs and driving outputs in a loop. In a more complex machine, firmware initializes the chips, tests memory and then loads something larger, such as the operating system, which is the role played by the BIOS and UEFI firmware on a PC, each with its own entry. An SSD's firmware is a small operating system in its own right, mapping logical addresses to flash cells, spreading wear and correcting errors, and graphics processors and network interface cards load firmware to bring up their engines. The boundary with ordinary software is a matter of degree: the same device may hold stable boot firmware and updatable driver-like code.

Vendor publishes a firmware update
a signed image file for one specific device model and hardware revision
Applying the update
Verify
the device checks the signature and version before accepting the image
Erase and write
the flash sectors holding the old code are rewritten
Reboot
the device restarts and runs the new code
If power is lost mid-write
the device may no longer start, which is called bricking, unless a backup image or recovery mode exists
Success
bug fixes, new features or security patches take effect

Updating firmware is more delicate than updating an application, because a failed update can leave the device unable to run the code that would repair it. Such a failure is called bricking, since the device is then as useful as a brick. Manufacturers reduce the risk with signed images, which the device verifies before accepting so that unauthorized code cannot be installed, with dual-bank designs that keep a working copy, and with recovery modes that accept a fresh image over USB or serial. The practical advice is not to interrupt an update, to use the exact image for the exact model, and to apply security fixes promptly. Many people ignore firmware entirely, yet routers, cameras and other connected devices often run old code with known vulnerabilities for years, a pattern that has been used to build large botnets.

Firmware has become a central subject in security and in computing for machine learning. Because it runs below the operating system, malicious firmware survives reinstalling the system and can be hard to detect, which is why secure boot chains verify each stage's signature before running it. A reinstalled operating system does not fix a corrupted drive controller or a compromised router. In AI and data centers, GPUs, network cards and drives carry firmware that is updated across fleets, with versions mattering for performance and stability, and embedded machine learning on small devices ships model and runtime as part of the firmware image. Open-source firmware projects exist for routers and some laptops, and the common misconception that firmware and drivers are the same is worth correcting: a driver is code on the host that talks to a device, while firmware runs on the device itself.

Read firmware as the software that is permanently part of a piece of hardware: it is what the chip does the moment power arrives, it sits beneath any operating system, and its stability, signing and updateability decide whether a device stays dependable and safe over its life.

Take firmware further

Ask the copilot about this term, or have our engineers assess it against your process.