Reading data using Arduino UNO via i2C from an AT24C02N EEprom

I purchased a set (2 strings of 5 meters long, 30 LEDs per meter) RGB Crazy Lights. 150 LEDs per string addressed in groups of 3.
I have learned the string uses i2C, 2 wire serial communications to control some 132 different patterns.

I would like to loose the controller and control the strips from my Arduino Uno as there is no user accessible intensity control on the supplied controller.

The string is driven from the controller by a Amtel AT24C02N 2K
I have found the below listed code on line. which is written for a AT24C01, a 1K EEprom.

I am reasonably familar with the Arduino code and mostly understand what is happening. However, i2C is new to me. I have sucessfully used it to read data from a SHT31-D temperature and humidity transmitter but this EEprom seems far more difficult.

I believe I can simply plug into the 5 pin connector (properly wired) 1 pin is not used and step through the program commands to send the address from the EEprom to 50 addressable SMD D13501 ( hard to read) groups.

Would like it if you could review and comment on what I am trying to do and have done so far.

One step at a time.
I would would think reading the data should be the simplest.
I believe the 2 K provides 32 pages of memory.

Ultimate goal would be to drive the LED strings with the Arduino Uno and add an intensity control to my operator controls.
I know this is possible as the existing programs use intensity when displaying a star burst pattern.

Unless you know a better way.

If nothing else I might learn something!!

Eprom.#include <Wire.h>

void eeprom_i2c_write(byte address, byte from_addr, byte data) {

byte eeprom_i2c_read(int address, int from_addr) {

Wire.requestFrom(address, 1);
return Wire.receive();
return 0xFF;

void setup() {

for(int i = 0; i < 10; i++) {
eeprom_i2c_write(B01010000, i, ‘a’+i);

Serial.println(“Writen to memory!”);

void loop() {
for(int i = 0; i < 10; i++) {
byte r = eeprom_i2c_read(B01010000, i);
Serial.print(" - “);