EEPROM (also E 2 PROM) stands for electrically erasable programmable read-only memory and is a type of non-volatile memory used in computers, integrated in microcontrollers for smart cards and remote keyless systems, and other electronic devices to store relatively small amounts of data but allowing individual bytes to be erased and reprogrammed.
The EEPROM Data Storage Module transmit data to Arduino UNO using I2C Protocol. It used 24LC256 256K I2C CMOS Serial EEPROM provided by Microchip Techonogy Inc. 24LC256 is a 32K x 8 (256Kbit) Serial Electrically Erasable Programmable Read - Only Memory. It can also be used with the Interface shield board by I2C on Board.
If you need to do some data storage in Arduino but found that the EEPROM in ATmega chip too limited, then this I2C EEPROM module is your best choice. This module is based on the EEPROM chip AT24C256, which has 256k bit capacity. It communicate with Arduino with I2C bus, helps you do much more data storage easily. Specification
I2C Communication Protocol I2C is a bus interface connection incorporated into many devices such as sensors, RTC (Real Time Clocks), and EEPROM. It is also referred to as Two-Wire Serial Interface (TWI) and it is ideal for communication between low-speed devices for a reliable communication over a short distance.
May 19, 2014 · For now, I'll cover actually getting the EEPROM connected up and working under Linux on a Raspberry Pi. Make sure and have the datasheet for the Microchip 24LC256 (or whatever chip you're using). It turns out, a lot of I 2 C EEPROM, and even FRAM, chips have almost the same exact interface. The datasheet is needed to reference several things.
EEPROM Click™ is an accessory board in mikroBUS™ form factor. It’s a compact and easy solution for adding more EEPROM memory to your device. It features DIP 24C08 8kbit serial EEPROM module in DIP 8 socket. EEPROM Click™ communicates with target board via I2C interface. The board is designed to use 3.3V and 5V power supply.
A ccording to the description above, it seems that the code of writing and reading eeprom with I2C interface are incompatible to the code after Line B, which is related to SPI operation.(Since delete the code between Line A and Line B, ram.elf load correct and software execute correct).