Max device can be connected to I2C bus and why?

Discussion in 'General Electronics Chat' started by pradiptart, Dec 15, 2013.

  1. pradiptart

    Thread Starter New Member

    Dec 15, 2013
    Hi all,

    Nice to join this forum.

    I got one question and searched internet for the answer.The question is

    What is the max number of devices that can be connected to I2C bus.

    I got the answer like 128 but 16 are reserved so 112 devices.
    but I am not able to figure it out how they are telling 128 and why 16 are reserved.

    Can any one please tell me the cause.

    Thanks in advance.
  2. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    128 comes from the 7 bit address used, that's the max that fits in that space.

    There is also a 10 bit address scheme you could use to get 4 times the useful slave addresses.

    Several addresses are reserved for things like the 10 bit address flag, a master call (all devices listen), and for things not thought of yet.

    And welcome to the forums!
  3. Shagas

    Active Member

    May 13, 2013
    I2C is also limited by bus capacitace. Basically you should check the datasheet of the devices that you are using and add up the capacitances. I'm not sure what the limit is but I think that it's in the order of a few hundred picofarads.
    In other words , you might only be able to connect a few tens of devices if they add heavy capacitances.
  4. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    That's why buffers were invented.

    (Yes Virginia, there IS an I2C buffer. Several in fact.)