El bus I²C fue introducido en 1982 por Philips para la comunicación interna entre circuitos integrados como por ejemplo juegos de CD y televisiones.
Cualquier dispositivo conectado a estas líneas es de drenador o colector abierto (Open Collector), lo cual en combinación con las resistencias pull-up, crea un circuito Wired-AND.
Para cada modo especificado, está predeterminado respectivamente un pulso de reloj máximo permitido.
En general, también pueden ser utilizadas señales de reloj más lentas, siempre y cuando sean compatibles con la interfaz del maestro.
Los datos (bits individuales) solo son válidos si su nivel lógico no cambia durante una fase de reloj alta.
La señal de arranque es un flanco descendente en SDA mientras SCL se encuentra en nivel alto.
La señal de parada es un flanco ascendente en SDA mientras SCL está en nivel alto.
Si no es así, los circuitos integrales (que precisan ser idénticos) deben ser controlados por varios buses I²C separados.
Ambos modos de direccionamiento pueden utilizarse simultáneamente, lo que permite hasta 1136 nodos en un único bus.
El último byte "leído" es reconocido por el maestro como un NACK (not acknowledge), para indicar el final de una transmisión.
Aunque es más lento que los sistemas de bus más nuevos, I²C es beneficioso (debido al bajo coste) para los sistemas periféricos que no necesitan ser rápidos.
Es posible añadir o retirar microcontroladores al bus durante su funcionamiento (Hot-Plugging).
También es utilizado como base para ACCESS.bus y monitores de interfaz VESA (DDC, Display Data Channel).
El protocolo I²C tuvo gran importancia en el pasado en el área de las tarjetas chip.
Asimismo, no es adecuado como puente entre grandes distancias, como suele ser típico para los buses de campo, por ejemplo.
Estas irregularidades a menudo no se pueden detectar, especialmente si son producidas en la señal SDA.