Wire.write((int)(addr >> 8)); Wire.write((int)(addr & 0xFF));After going to the trouble of splitting the int address into low order byte and high order byte, why are you then casting the bytes to ints?

BYTE WRITE: A write operation requires an 8-bit data word address following the device address word and acknowledgment. Upon receipt of this address, the EEPROM will again respond with a zero and then clock in the first 8-bit data word. Following receipt of the 8-bit data word, the EEPROM will output a zero and the addressing device, such as a microcontroller, must terminate the write sequence with a stop condi- tion. At this time the EEPROM enters an internally timed write cycle, tWR, to the nonvolatile memory. All inputs are disabled during this write cycle and the EEPROM will not respond until the write is complete (see Figure 8 on page 11).

The way I read that, you send the low-order address and the data. You are sending two bytes of address and then the data.

Ditto for the read (see Figure 11). You should send one byte of address, then do a requestFrom.

Please post technical questions on the forum, not by personal message. Thanks!

Well, thanks for your answers but I'm at the very beginning with this I2C EEPROM and you get me a little bet lost.

PaulS;I'm just using a Sketch found somewhere on the web.As it is my very first go with I2C EEPROM, I'm not really understanding the code actually.And I'm not a programmer, so till now I've been mostly copying different pieces of code and modifying some part, then look what was happening.

Nick Gammon ;The WP pin is to GND, so writing should be allowed.

You are talking about 2 Bytes of address that should be replaced by a only 1Byte address because the 24C02 has only 256 memory blocks. (if I understand well)I've seen something talking about LSB and MSB concerning the address.So I think, you might be talking about something that has to do with this. Is that right ?

But can you notice, on a previous message when I'm using Nick I2C Scanner on 2 different EEPROM, I got :For the 24C02 :I2C scanner. Scanning ...Found address: 80 (0x50)Done.Found 1 device(s).

Well seen Miran Ligowyr !Sorry, I'm guilty, I haven't properly done the modification.I haven't neutralised the "Wire.write((int)(addr >> );" piece of code and then I've done it for the readData subroutine but not for the "writeData" subroutine.