Pullup resistors when using TWI (I2C)

Hi Opto - I must correct myself in one point. Doing a quick survey of Sparkfun breakout boards I have around here, it actually appears that about 50% of these do have pull-ups, usually around 10k. So the situation you described is somewhat correct, that the pull-up values on the I2C-lines will vary widely, depending on the type of sensors you connect to this line.

Actually, I think it is a better practice to use just use a pair of pull-ups on the Master (i.e. the Arduino) only. This is exactly what the Wire-library is doing/assuming.

One the other hand, having multiple parallel pull-up resistors on various slave devices shouldn't do too much harm as long as the current involved is kept low enough. As remarked, I2C "works better" with smaller values of pull-up resistors. If you however connect a lot of I2C-devices, it is probably a good idea to check the schematics of the devices and calculate the overall resistance. If it's too low, you can always desolder some of them.

  • cpixip