that isn't exactly correct. i2c uses a 7-bit address space, which means that you can only have a maximum of 128 devices on a network. however, due to loading of the bus, that number is likely to be a lot lower. additionally the address space is divided into different categories (memory, sensors, etc.) and most devices only allows you to set the lower 1 to 3 address bits to a unique value, thus further reducing the number of identical devices allowed on the bus.fluffy111 wrote:On i2c you can have as many slaves as you want connected to one master (Arduino in your case). That is because every i2c device has it unique serial number and while you are programming master there is a sequence when every device should present itself (one at the time) and master save it (in your case on EEPROM). Then every time you want data you send serial number on i2c bus and only one device will answer. It is very similar to 1wire (for i2c some say that is 2wire protocol).
Regards
there are devices like i2c switches and muxes which help with this problem, but that introduces more complexity.