What is eeprom?
EEPROM stands for Electrically Erasable Programmable Read‑Only Memory. It is a type of non‑volatile memory chip that can store small amounts of data even when power is removed. Unlike regular ROM, the data in EEPROM can be rewritten electrically, byte by byte, without removing the chip.
Let's break it down
- Electrically - you use voltage (electric signals) to change the stored data.
- Erasable - you can delete the old data whenever you need to.
- Programmable - you can write new data into the memory.
- Read‑Only Memory - once written, the data can be read many times without being altered (unless you choose to erase it). EEPROM cells are made of tiny transistors that trap electrons to represent a “0” or “1”. Because the electrons stay trapped without power, the information is retained.
Why does it matter?
Because it keeps important settings or calibration data safe even after the device is turned off. This means a device can remember its configuration, user preferences, or error logs without needing a battery or constant power. It also allows manufacturers to update firmware or correct bugs in the field without replacing hardware.
Where is it used?
- Microcontroller boards (Arduino, Raspberry Pi Pico) for storing sketches or configuration.
- BIOS/UEFI chips in computers to hold system startup settings.
- Automotive control units for engine maps and sensor calibrations.
- Smart cards, RFID tags, and IoT devices that need to retain small amounts of data.
- Consumer electronics like digital cameras, routers, and remote controls.
Good things about it
- Non‑volatile - data stays after power loss.
- Byte‑level write/erase - you don’t have to rewrite the whole chip.
- Low power consumption - only needs a tiny current when reading or writing.
- Long data retention - can keep data for years (often 10+ years).
- Simple interface - usually accessed via I²C or SPI, easy for beginners.
Not-so-good things
- Limited write cycles - each cell can only be rewritten a few hundred thousand to a few million times before it wears out.
- Slower than RAM - reading and especially writing take more time.
- Small capacity - typically only a few kilobytes to a few megabytes, not suitable for large files.
- Higher cost per byte compared to flash memory for larger storage needs.
- Complex wear‑leveling may be required in applications with frequent updates to avoid early failure.