Firmware is a term which applies to software that you will generally write onto a chip in a computer system once, and may even be supplied on a ROM. It is often these days based upon Flash Memory, and is commonly seen in the form of a PC BIOS chip.

Being writeable allows for upgrades and updates to take place, which may give a piece of hardware better or improved functionality, for example allowing a PC motherboard to support greater amounts of memory in its slots or new devices.

On the Lego RCX, like many robot development systems, it is the firmware that dictates the running environment that your code will operate, and can be updated, or written out by alternative firmware like BrickOS.

In modern PC’s, as well as the BIOS, CD/DVD write drives, Graphics cards, sound cards and WiFi devices often have writeable firmware chips allowing manufacturers to roll out improved versions of software. Cynically, it can also be noted that it may allow manufacturers to release buggy software on the initial release, and fix it with field deployable updates later.