Field-programmability

Early EEPROMs could only be reprogrammed with expensive, dedicated programmer hardware, since they required high voltages (10-20 V, compared to typical 3-5 V logic levels) and there was no standard programming protocol; as a result, field-programming was mostly performed by professional technicians and service engineers.

Many such devices include JTAG headers internally for factory programming and quality control, even though no external connector is exposed in the finished product.

These are integrated circuits which can implement nearly arbitrary digital logic functions based on firmware-like information stored in non-volatile memory.

Many consumer electronic devices (including MP3 players, broadband routers, cell phones, and digital cameras) contain embedded systems based on general-purpose microprocessors and microcontrollers.

For example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux distributions on their MP3 players and wireless routers, respectively.