i2c pull up resistors


6 posts
by goodney » Wed Jun 06, 2012 6:24 pm
While I wait for some I2C breakout boards to arrive, I'm looking for some confirmation on one point:

Since the RPi board already has 1.8K resistors on the I2C lines, any pull-ups included on a breakout board are superfluous and can be removed. On the other hand, they probably won't cause any problems as long as they aren't too big or too small in value.

Thoughs?

thanks!

-Andrew
Posts: 7
Joined: Thu May 31, 2012 12:26 am
by domesday » Wed Jun 06, 2012 6:59 pm
Well if the breakout board also had 1.8K resistors that would mean you have two resistors in parallel making the combined resistance only 900ohms. That is quite low and will result in a higher than necessary current draw when the line is pulled low of almost 4mA. So you would be better off leaving off any pull-up resistors on the breakout board.
Posts: 258
Joined: Fri Oct 21, 2011 5:53 pm
Location: UK
by rew » Sat Jun 09, 2012 8:41 pm
Agreed. I also designed a breakout board (rpi_serial) and I didn't know of the pullups on the raspberry pi. So there are spots on the board for the pullups but only the very, very first board that had to be sent out before the pullups on the RPI were know has had these installed. I hope they have been removed by the owner by now.

The board continues to have the pullup resistor pads installed. Possibly in the future the raspberry won't have them anymore (*), so you might want to install them here.

(*) Which would be good for those who want to use the pins as a general purpose IO pin.
Check out our raspberry pi addons: http://www.bitwizard.nl/catalog/
User avatar
Posts: 396
Joined: Fri Aug 26, 2011 3:25 pm
by jdj » Sun Jun 10, 2012 1:09 am
I am thinking of using the Adafruit BSS138 quad logic converter http://www.adafruit.com/products/757 to translate 5V systens to 3.3V.

However it states that "This breakout has 4 BSS138 FETs with 10K pullups."... 10k pull up in parallel with the RPi 8k pull-ups would result in a 4.5k pull-up total; way too low IMHO.

That would be a show stopper, but I am considering to try to figure out which componments on this breakout are the pull-ups for the 3.3V side and remove them. That would make the board usable.

On a related issue; I would like to use the board to translate UART traffic. Does the UART require pull-up resistors?

Best regards
/ Daniel
Posts: 7
Joined: Mon Dec 26, 2011 3:15 pm
by jdj » Mon Jun 11, 2012 8:17 am
Ah - the RPi has 1.8k pullups and not 8k (of course)... This makes it even lower, parallell resistance (10k + 1.8k) is then 1.5k. According to an I2C spec file I have from Philips, the minimum allowed for a 3.3V system is somewhere around 1k... that ought to work in other words.

I also see that 10k pullups on the 5V side is ok for 'standard mode' (up to ~80pF bus capacitance) however for 'fast mode' they are way too large, max is ~3k for a ~80pF bus.

Cheers
/ Daniel
Posts: 7
Joined: Mon Dec 26, 2011 3:15 pm
by DavidK » Mon Jun 11, 2012 6:28 pm
I also made my own add-on board before I knew about the 1.8K pullups, so I have extra 2.2K ones as well. I've connected a DS1307 RTC, which is a 5V chip but with a minimum logic high input of 2.2V, so I've also not bothered with level translation on I2C but that depends on what you're connecting. Works fine for me.
Posts: 10
Joined: Mon Feb 27, 2012 8:34 pm
Location: Kent, UK