/iˌiːˌpɹoʊˈm/

noun … “Electrically erasable programmable memory.”

EEPROM (Electrically Erasable Programmable Read-Only Memory) is a type of non-volatile memory that can be electrically erased and reprogrammed at the byte level. Unlike traditional ROM, which is fixed at manufacture, and standard Flash memory, which erases in large blocks, EEPROM allows fine-grained updates without removing surrounding data, making it suitable for storing configuration settings, firmware, or small amounts of persistent data in embedded systems.

Key characteristics of EEPROM include:

  • Non-volatility: retains stored information without power.
  • Byte-level programmability: allows individual bytes to be erased and rewritten.
  • Limited write cycles: each memory cell supports a finite number of program/erase operations, requiring careful usage.
  • Integration: commonly embedded in microcontrollers, BIOS chips, and small devices requiring persistent configuration storage.
  • Slower than RAM: optimized for infrequent writes, not high-speed access.

Workflow example: Updating a configuration parameter in EEPROM:

function update_config(address, value) {
    eeprom.erase_byte(address)
    eeprom.write_byte(address, value)
}

Here, a specific byte in EEPROM is erased and then rewritten with new data, preserving other bytes in memory.

Conceptually, EEPROM is like a digital sticky note where each cell can be erased and rewritten individually, retaining its content even when the device loses power.

See Memory, ROM, Flash, Microcontroller, Firmware.