Tutorial
 // maybe let's not read more than 30 or 32 bytes at a time!
 void i2c_eeprom_read_buffer( int deviceaddress, unsigned int eeaddress, byte *buffer, int length ) {
 Wire.beginTransmission(deviceaddress);
 Wire.send((int)(eeaddress >> 8)); // MSB
 Wire.send((int)(eeaddress & 0xFF)); // LSB
 Wire.endTransmission();
 Wire.requestFrom(deviceaddress,length);
 int c = 0;
 for ( c = 0; c < length; c++ )
 if (Wire.available()) buffer[c] = Wire.receive();
 }
 void setup() 
 {
 char somedata[] = "this is data from the eeprom"; // data to write
 Wire.begin(); // initialise the connection
 Serial.begin(9600);
 i2c_eeprom_write_page(0x50, 0, (byte *)somedata, sizeof(somedata)); // write to EEPROM 
 delay(10); //add a small delay
 Serial.println("Memory written");
 }
 void loop() 
 {
 int addr=0; //first address
 byte b = i2c_eeprom_read_byte(0x50, 0); // access the first address from the memory
 while (b!=0) 
 {




