I rewrote this like 3 times over the course of 7 days and spent way too long on these diagrams so hopefully this is up to snuff. I2C Stands for Inter-Integrated Circuit and abbreviated as I2C or just I2C. It is a synchronous, two-wire serial communication bus used to connect low-speed peripherals over short distances. SDA Stands for Serial DAta. Transfers data bidirectionally between devices. SCL Stands for Serial CLock. Carries the clock signal to synchronize all data transfers. Topology There is always at least one controller and one target. Commonly there is a single controller and one or more targets. Uncommonly, there can be multiple controllers (multi-controller). The targets can be connected at any point on the lines. Each line is connected to its own pull up resistor which connects to the same positive voltage. Open-Drain In I2C, SDA and SCL are idle-HIGH, meaning they are HIGH by default. As a result, I2C is considered an “Open-Drain” system. When the drain is closed, SDA and SCL are pulled LOW (connected to ground). When the drain is open, SDA and SCL return to HIGH (connected to positive voltage). Bus Arbitration I2C can support multiple controllers on the same bus. The way to resolve this falls out naturally from the open-drain design. Wired-AND Logic On an open-drain bus, driving LOW is an active action (pulling the line to ground), while driving HIGH is a passive release (letting the pull-up resistor return the line to positive voltage). If one device pulls LOW while another releases to HIGH, the line goes LOW. That is: Pulling always overrides releasing. The bus is therefore logically equivalent to AND-ing every device’s output. This property is called “Wired-AND Logic”, and it is the electrical foundation that makes arbitration possible. Resolution Every transmitting controller is required to monitor SDA while it transmits. On each bit, the controller compares what it tried to send against what actually appears on the SDA line. If they match then the...
First seen: 2026-05-20 19:46
Last seen: 2026-05-21 17:03