-1

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?

Jack
  • 686
  • 3
  • 7
  • 19
  • 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 Dec 10 '19 at 00:54
  • Removing SMD pullups pictures: (1) https://raspberrypi.stackexchange.com/questions/100203/ds18b20-temperature-sensor-rpi-3-4-driver-wiring-detection-and-python-progr

    (2) https://raspberrypi.stackexchange.com/questions/104538/how-to-interface-more-than-10x-ads1115-a-raspberry-pi

    (3) https://raspberrypi.stackexchange.com/questions/98116/random-i2c-sda-spikes-bit-flip

    (4) https://raspberrypi.stackexchange.com/questions/59673/strange-i2c-behaviour.

    – tlfong01 Dec 10 '19 at 00:56
  • 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 Dec 10 '19 at 01: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: https://raspberrypi.stackexchange.com/questions/104538/how-to-interface-more-than-10x-ads1115-a-raspberry-pi. – tlfong01 Dec 10 '19 at 01: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 Dec 10 '19 at 01:16
  • @tlfong01 we meet again :D i just finished my pcb, and is still deciding whether to put my own pullups. it would seem i will have to skip them – Jack Dec 10 '19 at 01:42
  • will update if it succeeds – Jack Dec 10 '19 at 01:44
  • Yes, I think no pullup is necessary in your PCB. But it would be nice if you place two big soldering pads there for hobbyists to solder on pullups to check if they cause trouble. I look forward seeing your PCB. By the way, I am putting 5 PCF8591 and a couple of more devices on a single bus and found them very stable. So I doubt that for even 5 to 8 devices, is it really necessary to remove the pullups, which is a not an easy job for newbies. BTW, just now I removed the pullup of one of my PCF8591s. Will show you a picture later. – tlfong01 Dec 10 '19 at 02:39
  • This is the picture showing me removing one 10k pullup, taking me 1 minute 40 seconds. Desoldering and rewiring the chip's three hardware address pins took me some 10 minutes though: https://imgur.com/gallery/l8tZRqp.. – tlfong01 Dec 10 '19 at 02:43

1 Answers1

2

DO NOT use ANY pullups!

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

Milliways
  • 59,890
  • 31
  • 101
  • 209
  • 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 Dec 10 '19 at 01:43