News for hackers. Stuff that matters.
Re:Internal pull-up resistors are insufficient for I2C by thinknubpad on Sunday February 05, 2023 @09:48PM (#34672674)
Anecdata: seems like internal pullups are usually 10s of kΩs, maybe 20-50kΩ. Most sensor boards that I see use 4.7kΩ, and work with 400KHz-1MHz "fast-mode+".

So 1kΩ is safe, but might be a bit on the aggressive side. At 3.3V, 1KΩ to ground burns 3.3mA, and there are two pull-ups.

Re:Internal pull-up resistors are insufficient for I2C by bjt2n3904 on Sunday February 05, 2023 @11:15PM (#34673265)
Yep, this post checks out.

If you're doing coin cell powered stuff, those brief 3.3 mA pulses can really chew up your battery life.

Re:Internal pull-up resistors are insufficient for I2C by synack on Monday February 06, 2023 @01:00AM (#34673911)
The I2C spec gives you a minimum and maximum rise time, but does not specify resistor values. Those values should be selected based on the total capacitance of the bus to meet the rise time requirement, either calculated or measured.

The I2C specification is full of these kinds of ambiguities, which creates a lot more work for implementers. SMBus's physical layer is a subset of I2C that tightens these requirements and specifies pull-up current, making these calculations quite a bit easier.

http://www.smbus.org/specs/SMBus_3_2_20220112.pdf