I2C in LPC11Uxx Our microcontroller includes an I2C controller It is on pins 15 and 16 The pins are open-drain (no output-1 capability) The only pins without an internal pull-up You can run as many I2C buses as you want, one GPIO pins Just set the GPIO data register to 0 Then toggle between input and output mode Other (older) LPC11 devices are much more braindead When you turn from input to output, the pin value is preserved They help you to prevent glitches They prevent you from doing anything useful So pins 15 and 16 are open-drain as a bug-fix for this Two bugs sometimes cancel one another, but they remain bugs