In many microcontroller projects you need some non-volatile memory – which preserves data even when power is off. Most popular type of such memory is Flash or EEPROM. Many MCUs like AVR or PIC already have some EEPROM inside chip that may suite your needs. But in many cases it is not included and you may need to connect it externally. EEPROMs with I2C interface is very common in such situation as they don’t need lots of I/Os (only two wires). If you decided to add an EEPROM chip in to your project check out the useful guide on how it works written by Jesus Echavarria. As example he took 24LC256 EEPROM which capacity is 32K x 8 bytes. Chip works in pretty wide voltage range – between 1.7V and 5.5V which is great either for 3.3V or 5V setups.
He covers all the basic things you need to take care of including selecting proper chip slave address in I2C line. Then performing reading and writing EEPROM data in byte and page modes. This guide might serve as nice snippet for your next project so you don’t have to scratch head if something goes wrong.