4 ms·
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+". S
by thinknubpad 4y ago
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 per I2C bus.
- bjt2n3904 4y agoYep, 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.
- synack 4y agoThe 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 http://www.smbus.org/specs/SMBus_3_2_20220112.pdf