What is on it
An AT24C128 memory chip, two capacitors that feed it, two pull-up resistors, and a jumper on the back. The chip's three address pins are wired to GND, so it answers at 0x50 and nowhere else, and its write-protect pin is on GND too, so writing is always allowed.
Five parts, one of which does anything
The chip is an AT24C128, made by HXY: 128 kilobits, which is 16,384 bytes. EEPROM stands for electrically erasable programmable read-only memory, a long name for memory that can be rewritten byte by byte and keeps its contents without power. Its datasheet gives 40 years for that.
The two capacitors, 100 nF and 10 µF, sit between VCC and GND right beside the chip. A write draws up to 5 mA in short bursts, and they supply it on the spot so the chip's supply does not dip.
The two resistors are the I2C pull-ups, 10 kΩ each, one on SDA and one on SCL. They end at VCC, by way of the jumper on the back.
The address is fixed
Every device on an I2C bus has an address, and your board starts every conversation by calling it. This chip's address is 1010 followed by three bits set by its pins A2, A1 and A0. On the TK31 all three are wired to GND, so the three bits are 000 and the address is 0x50.
That has two consequences. A sketch never needs to search: it is 0x50. And two TK31s cannot share one bus, because both would answer at 0x50 at the same time. One TK31 per bus.
Writing is always on
The chip's WP pin, write protect, locks the whole memory when it is held at VCC. Here it is wired to GND, so every write is accepted. Nothing on the board can stop a sketch overwriting what another sketch saved, which is worth knowing before you reuse a board between projects.
When it does not work
The chip can, on a board that brings its A0, A1 and A2 pins out. This board wires all three to GND in copper, so it is 0x50. There is no jumper or pad to change it.
Not without soldering. The chip's WP pin would protect the whole memory if it were held at VCC, but on this board it is wired to GND. A sketch that never writes is the practical way to treat it as read-only.
No. EEPROM.h reads the memory inside your microcontroller: 1,024 bytes on an Uno, and a piece of flash pretending to be EEPROM on an ESP32. This chip is a separate part on the I2C bus, reached with Wire.
16,384 bytes. That is room for a few thousand settings or small readings, or about four pages of plain text. It is not a place for photos or long logs; a microSD card is.
How one byte gets written and read back, frame by frame.
Two wires and an address →Edit this page — content/books/eeprom-memory/what-is-on-it.mdx
Questions about this product
See what other owners have asked, and read their solutions.
EEPROM Memory
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.