What Is I2C?
I2C (Inter-Integrated Circuit) is a synchronous serial bus that connects many devices to each other with only two lines. For a general comparison see the what are UART, SPI, I2C article.
Two Lines: SDA and SCL
All devices share the same two lines: SDA (data) and SCL (clock). One master device generates the clock and manages the communication; the others respond as slaves.
Addressing
Every device has a unique address. The master broadcasts the address of the device it wants to talk to; only the device at that address responds. So dozens of devices can work on a single bus.
| Property | Value |
|---|---|
| Line count | 2 (SDA, SCL) |
| Devices | Many (addressed) |
| Speed | Medium (100k-1M) |
Why Is a Pull-up Resistor Needed?
I2C lines are "open-drain"; pull-up resistors are essential to pull the lines to the high level. If the value is wrong, communication becomes unstable.
Where Is It Used?
Sensors, small OLED displays, EEPROMs, RTC clocks and microcontroller peripheral chips.
Speed Modes
I2C works in different speed modes: Standard (100 kHz), Fast (400 kHz), Fast+ (1 MHz) and High Speed (3.4 MHz). Higher speed requires shorter lines and a smaller pull-up resistor; all devices must support the chosen speed.
Common Mistakes
- Forgetting pull-ups: a line without resistors won't work.
- Address conflict: two devices with the same address clash.
- Long line: a long, high-capacitance line lowers the speed.
Frequently Asked Questions
How many devices does I2C support?+
What's the difference from SPI?+
Search parts related to "What Is I2C?"
Find the right part by comparing price, stock and distributors.