Electrical – doubt when Arduino connects to multiple i2c devices

arduinoi2cmodulepullup

I am using Arduino nano to drive multiple i2c devices, actually, they are premade modules which are available on eBay.
ads1115 ADC, ds3231 RTC, 20×4 character LCD i2c module, at24c02 EEPROM module

all these modules have I2C SDA & SCL pull-up resistors in the module, please correct me if I am wrong.

doubt –
if I connect these all devices to same SDA and SCl i2c bus what will happen to pullup resistances? according to the theory, since they are configured in parallel resistances will go low isn't it? means pull up resistance will go low?

how this will affect to my end device?

Is there a specified distance between SDA/SCL pins and pull up resistor?

Best Answer

Yes, you are correct. Resistance goes low and that is not good for your devices, as the maximal current going through pull-down transistors will increase for several times.

But it also depends on your wiring configuration, wires length and protocol bitrate. Typically you can have several pull-up resistors closer to the I2C devices.

Please reed this article: I2C Bus Pullup Resistor Calculation

And this answer: Is there a correct resistance value for I2C pull-up resistors?

Check the resistors values. If the resulting resistance is above 2 kOhm @ 400kHz-1MHz, then you are more or less safe. On 100kHz you can use higher resistor values up to 10 kOhm in total.