Firmware é a programação escrita na memória não volátil de um dispositivo de hardware. A memória não volátil é uma forma de memória estática de acesso aleatório cujo conteúdo é salvo quando um dispositivo de hardware é desligado ou perde sua fonte de energia externa.
Firmware, que é adicionado no momento da fabricação, é usado para executar programas do usuário no dispositivo e pode ser pensado como o software que permite a execução do hardware. Os fabricantes de hardware utilizam firmware incorporado para controlar as funções de vários dispositivos e sistemas de hardware, tal como o sistema operativo (SO) de um computador controla a função das aplicações de software. O firmware pode ser escrito na memória somente leitura (ROM), na memória programável apagável somente leitura (EPROM) ou na memória flash. Firmware que está embutido em chips de memória flash pode ser atualizado mais facilmente do que firmware escrito na ROM ou EPROM, o que o torna mais adaptável.
Hoje em dia, o firmware incorporado existe em tudo, desde smartphones a dispositivos de Internet das coisas (IoT) que são tão simples que você pode não imaginar que eles tinham controle do computador. Enquanto o firmware em uma lâmpada inteligente pode não precisar de atualizações freqüentes, o firmware em um termostato inteligente pode precisar ser atualizado periodicamente para permanecer compatível com as atualizações do sistema operacional smartphone.
Atualizações do firmware são frequentemente emitidas para corrigir bugs, implementar novos recursos e melhorar a segurança. Alguns dispositivos compatíveis com a Internet verificam regularmente a existência de novos firmware e fazem automaticamente o download e a instalação, enquanto outros fabricantes de dispositivos exigem que o utilizador visite o website do fabricante para fazer o download das actualizações de firmware e instalá-las manualmente.