The Inter-integrated circuit (I2C or I2C or IIC) specification defines a protocol serial digital communication between closely located circuit components, usually on the same board. The electrical connection requires only two wires. There can be only one master but multiple slaves. Unlike UART or SPI, I2C specifies open-collector or open drain pins that are connected to the positive line voltage via pull-up resistors. The connected devices pull down their wired data pin to 0 V for signaling. Unless any of the wired devices pulls down the line the line voltage remains in its default HIGH state.

Due to the open-collector outputs devices with incompatible logic voltage levels can be connected directly without the need for level shifting. The pull-up line voltage should correspond to the lowest of the HIGH voltage levels of the wired devices and needs to exceed the minimum voltage level for which HIGH is defined on any device. Only then will the devices be able to sense the correct data bit despite the different HIGH voltage levels.

External Links