I2C limit

Good day all. I needed some information about the capacity of I2C communication in Arduino.

My doubts are as follows:

  1. What is the maximum number of slave Arduinos i can have for a master Arduino?
  2. How many more slaves can this slave have?
  3. What is the maximum distance I2c communication can be implemented?

It would be really helpful for me.

Thank you. :slight_smile:

There are 128 I2C addresses, some are reserved.
Any device can be a master or slave. Same 128 address limit.
Distance, depends on how strong the pullups are, and how much capacitance on the total bus.
With 100 devices, that would be a lot of capacitance, I'd imagine you'd want 4.7K or maybe a 3.3K pullup to 5V, or 2.7K pullup to 3.3V, and a few feet max of distance.
If you can observe the lines with a scope, you see how degraded your signal might be.
You may have to use 100K as a max clock rate, or slower even.

Check - Gammon Forum : Electronics : Microprocessors : I2C - Two-Wire Peripheral Interface - for Arduino - will provide you with more info

Thank you for the reply :slight_smile:

Good day :slight_smile: