Hello i have designed a modular shield like value that uses the i2c buss of the raspberry but i do not know what resistor value for the pull ups to use. most guides tells us to use a safe 4.7k resistor but upon adding more of this modular device that 4.7k ohms will go down because of parelling resistors.

The theoretical max is 32 modular i2c devices before the power supply of the pi cant handle any furthur. When all 32 is placed, the resistance will go down to 146 ohms which is very low. But the value should also work with only 1 device is placed. because of that i cant set the value to high either.

Any thoughts?

  • Ah let me see. Almost all I2C modules come with 4k7 SMD pull ups on PCB. I usually remove them using soldering gun at 350C to desolder/remove them. The first time I did the removal took me 15 minutes and ended up removing all the 2 neighbouring components and into the dust bin. After about 20 times, I can now do it in average less than two minutes. You might like to see my finished job in the answers of the following questions: / to continue, ....
    – tlfong01
    Commented Dec 10, 2019 at 0:54
  • In the above and other related posts, I also pointed out the pull up is not critical problem. What is causing trouble is the I2C 400pf max capaticance problem. One way to minimize capitance is NOT to use star topology for wiring the I2C. Instead using daisy chain and also Short wires ASAP. Of course you can use 3V3 stepped up to 5V logic and also very expensive bus extenders and expanders.
    – tlfong01
    Commented Dec 10, 2019 at 1:01
  • My answer to the following question includes more references and app notes (TI and NXP are the best) to dealing with I2C pullup/capacitance problems: raspberrypi.stackexchange.com/questions/104538/….
    – tlfong01
    Commented Dec 10, 2019 at 1:05
  • By the way, all may answers in the above posts are OUT OF DATE, because I use as example Rpi3B+ with limited, flat 100kHz I2C speed. Recently I tried Rpi4B and surprisingly found that even I stretch speed to almost the seemingly upper limit 900kHz, I can still entertain many more I2C devices on a single one of the 4 or 5 I2C buses. I guess the Rpi4B I2C (SCL, SDA) circuits have been improved, become stronger to drive higher impedance, ie, capacitance, perhaps much higher than 400pF. But I need to do more engineering experimentation and calibration to verify my hobbyist guess.
    – tlfong01
    Commented Dec 10, 2019 at 1:16

1 Answer 1


DO NOT use ANY pullups!

All Pi models come with 1.8kΩ pullup to 3.3V.

  • it would seem that is the only option, ill comeback after soldering my boards and see if it works, then ill mark your answer correct
    – Jack
    Commented Dec 10, 2019 at 1:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.