Firmware is the combination of hardware and software that resides in read-only memory on devices to control their basic functions. It is used in devices ranging from remote controls to industrial equipment. More complex devices use firmware that can be updated through flash memory to add features or fix bugs. Originally, firmware referred to the low-level instructions that defined a computer's instruction set stored in RAM, but now broadly refers to any read-only software embedded in devices.