# Firmware ![rw-book-cover](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/WD_Blue_WD5000LPVX_-_controller_-_Winbond_25X20CLVIG-0182.jpg/1200px-WD_Blue_WD5000LPVX_-_controller_-_Winbond_25X20CLVIG-0182.jpg) ## Metadata - Author: [[wikipedia.org]] - Full Title: Firmware - Category: #articles - Summary: Firmware is a type of software that controls hardware in devices like computers, smartphones, and appliances. It is stored in non-volatile memory and can sometimes be updated or "flashed" to fix bugs or add features. Custom firmware can also be created by third parties to unlock new functionalities. - URL: https://en.wikipedia.org/wiki/Firmware ## Highlights - In [computing](https://en.wikipedia.org/wiki/Computing), **firmware** is [software](https://en.wikipedia.org/wiki/Software) that provides [low-level](https://en.wikipedia.org/wiki/Low-level) control of [computing device](https://en.wikipedia.org/wiki/Computing_device) [hardware](https://en.wikipedia.org/wiki/Computer_hardware). For a relatively simple device, firmware may perform all control, monitoring and data manipulation functionality. For a more complex device, firmware may provide relatively low-level control as well as [hardware abstraction](https://en.wikipedia.org/wiki/Hardware_abstraction) [services](https://en.wikipedia.org/wiki/Service_(systems_architecture)) to higher-level software such as an [operating system](https://en.wikipedia.org/wiki/Operating_system). ([View Highlight](https://read.readwise.io/read/01jwm73t0jaxgjeq287yc7svr8)) - Common reasons for [changing](https://en.wikipedia.org/wiki/Patch_(computing)) firmware include fixing [bugs](https://en.wikipedia.org/wiki/Bug_(engineering)) and adding [features](https://en.wikipedia.org/wiki/Feature_(software_design)). ([View Highlight](https://read.readwise.io/read/01jwm77canr7b89g30kgeb1vma)) - As originally used, firmware contrasted with hardware (the CPU itself) and software (normal instructions executing on a CPU). It was not composed of CPU machine instructions, but of lower-level microcode involved in the implementation of machine instructions. It existed on the boundary between hardware and software; thus the name *firmware*. Over time, popular usage extended the word *firmware* to denote any computer program that is tightly linked to hardware, including [BIOS](https://en.wikipedia.org/wiki/BIOS) on PCs, [boot firmware](https://en.wikipedia.org/wiki/Boot_firmware) on smartphones, [computer peripherals](https://en.wikipedia.org/wiki/Computer_peripheral), or the control systems on simple [consumer electronic devices](https://en.wikipedia.org/wiki/Consumer_electronic_devices) such as [microwave ovens](https://en.wikipedia.org/wiki/Microwave_oven) and [remote controls](https://en.wikipedia.org/wiki/Remote_control). ([View Highlight](https://read.readwise.io/read/01jwm7926w1p03c9rdbbh91vmq)) - In some respects, the various firmware components are as important as the [operating system](https://en.wikipedia.org/wiki/Operating_system) in a working computer. However, unlike most modern operating systems, firmware rarely has a well-evolved automatic mechanism of updating itself to fix any functionality issues detected after shipping the u ([View Highlight](https://read.readwise.io/read/01jwm79qkdwt611vx4jjbrn3an))