W wersji 7 zmieniono terminy "master/slave" na "controller/target" w celu dostosowania do specyfikacji magistrali I3C.

Warstwa fizyczna I²C do transmisji wykorzystuje dwie dwukierunkowe linie: SDA – linia danych () i SCL – linia zegara (). Obydwie linie są na stałe podciągnięte do źródła zasilania poprzez rezystory podciągające (ang. pull-up). I²C używa logiki dodatniej, a więc stan niski na magistrali odpowiada „0” logicznemu, natomiast stan wysoki „1” logicznej.

center|600px|Przebieg czasowy sygnałów w magistrali I²C

Wszystkie nadajniki są typu otwarty kolektor lub otwarty dren, a więc na liniach występuje tzw. iloczyn na drucie („1” jest recesywna, a „0” dominujące). Pozwala to na wykrywanie kolizji. Każde urządzenie nadając „1” jednocześnie sprawdza, czy na magistrali rzeczywiście pojawił się stan wysoki. Jeżeli tak nie jest, oznacza to, iż inne urządzenie nadaje w tym samym czasie i urządzenie zaprzestaje nadawania.

Podstawowa wersja I²C zakłada istnienie tylko jednego urządzenia, które może inicjować transmisję (master), ale dzięki istnieniu mechanizmu detekcji kolizji, możliwa jest praca w trybie multi-master.