Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years ago.
Use of MCU internal pullup resistors as I2C pullup resistors
Some MCUs have internal pull up resistors, which can optionally be connected to I/O pins The output pin drivers on a I2C device are open collector and therefore a pull up resistor must be connected to each I2C bus line at some point Does the MBED library's I2C module support connecting a MCU's internal pull up resistors as the required I2C bus pull up resistors ?
1 Answer
8 years ago.
Ignoring any potential issues with the internals of how the pullups are implemented (they are actually current sources/sinks nor resistors) the internal pulls have an effective resistance in the 10's or even 100's of kohm range, far too large for reliable I2C communication.
e.g. on an LPC11U2x the pull up is between -15uA and -85uA with a typical value of -50uA. So with a power supply of 3.3V that is the equivalent of a pull up to 3.3V of somewhere between 38k and 220k with a typical value of 66k.
Other parts will be in the same ballpark.