I missed some replies and I must study them before you give more information.

Many thanks to all.

I've been doing so many mistake and so giving so many wrong information in my previous post. Hopefully you made me figuring them out but I hope it won't confuse other beginners.

In fact, I 'm using a 2kb and a 4kb Eeprom and the 4kb must be seen as 2 devices (thanks to Nicks' I2C scanner) and it needs the pull up resistor despite the Arduino has small 40kohm ones (too weak for more capacitive circuit, like long line or more than one Eeprom....I'm learning...

you can use the EEPROM24 library.I've used it a lot and it's easy to interface with, and doesn't take a lot of space either.you can download it here: http://rweather.github.io/arduinolibs/classEEPROM24.html

What makes me mistaken is that I've been using 24c02 and 24C04 that are addressed on only 1byte.

You'll say, the 24C04 can't be addressed on only 1 byte. But it is ! Well not really.

In fact, the address block is on 1byte, the 24C04 is seen as 2 devices (1 on 0x50 and 1 on 0x51), the A0 pin has no function (no connect) and there is a 9th bit somewhere that I can't yet understand how it works and where it is.This means that a 24C04 is using 2 devices addresses !

Bigger I2C Eeprom have their block address coded on 2 bytes, that mean up to 64kB on the same device I think (24C512)

The link you gave previously talks about a 24LC1025 24LC1026 of 128kB !Twice more addresses than 2^16 (2 bytes addresses possibilities).

you can use the EEPROM24 library.I've used it a lot and it's easy to interface with, and doesn't take a lot of space either.you can download it here: http://rweather.github.io/arduinolibs/classEEPROM24.html

So I think this library can work only for the 1 Eeprom = 1 device Eeprom style.No for for the 1 Eeprom = 2 devices Eeprom style.

" There can be multiple 24LCXX chips on the same I2C bus, as long as their A0, A1, and A2 address pins are set to different values. For example, two 24LC256 chips can be used to provide the same memory capacity as a single 24LC512 chip. The optional bank parameter to the constructor is used to assign different bank addresses to each chip:

this is all you need to communicate with any 24Cxxx EEPROM. Just replace the part saying "EEPROM_20LC04" with your spesifil EEPROM type. (You will have write LC instead of C, because this library was originally designed for microchip's i2c EEPROMs. However, the library should support all kinds of eeproms starting with 24.

EDIT:Forgive me, you cant run two EEPROMS at the same address, but you can, like I mentioned, make two EEPROMS act as twice as large EEPROM

" There can be multiple 24LCXX chips on the same I2C bus, as long as their A0, A1, and A2 address pins are set to different values. For example, two 24LC256 chips can be used to provide the same memory capacity as a single 24LC512 chip. The optional bank parameter to the constructor is used to assign different bank addresses to each chip:

this is all you need to communicate with any 24Cxxx EEPROM. Just replace the part saying "EEPROM_20LC04" with your spesifil EEPROM type. (You will have write LC instead of C, because this library was originally designed for microchip's i2c EEPROMs. However, the library should support all kinds of eeproms starting with 24.

EDIT:Forgive me, you cant run two EEPROMS at the same address, but you can, like I mentioned, make two EEPROMS act as twice as large EEPROM

// there are only 512 bytes of EEPROM, from 0 to 511, so if we're // on address 512, wrap around to address 0 if (address == 128){ address = 0; }

delay(500);

}

The download page doesn't have a dowload link, so you will have to copy the source code on the page. If you want I can upload the library for you

HI - not wanting to thread hijack but was looking for some info on how to use 24LC256 chips and found this - i have downloaded all the files you linked to but do not want to use his softi2c library - do you know how to use this code with the standard hard coded i2c ports (in my case i am on a Mega, but neither here nor there)

I am a NOOB to Arduino so little words would be relly good !!

I think i am having problems where they define the i2c data type for their softi2c at the start - if i could tell that to use the wire library i think i would be right (but i have no idea how to do that one