In computing, firmware is a computer program that is "embedded" in a hardware device and is an essential part of the hardware. It is sometimes called embedded software. An example is a microcontroller, a part of the microprocessor that tells the microprocessor what actions to take. It can also be a larger program stored on flash memory, or uploaded onto existing hardware by a user.