I²C (I2C) bus
also: I2C · IIC · two-wire interface · SMBus
A simple two-wire bus for connecting a processor to many low-speed chips on the same board, such as sensors, small memories and battery gauges.
I²C uses one clock line and one data line shared by many devices, each with its own address. It is the default way to connect sensors, EEPROMs, real-time clocks, battery fuel gauges and I/O expanders. The specification defines speed grades of up to 100 kbit/s (Standard-mode), 400 kbit/s (Fast-mode) and 1 Mbit/s (Fast-mode Plus), plus faster variants that are rarely used.
It is designed for short connections on one board. The bus relies on pull-up resistors and has limited drive strength, so long wires, many devices or noisy environments cause errors. A single misbehaving device can hold the bus low and stall everything on it.
Where it bites: address conflicts between identical chips, pull-up values that don't suit the bus capacitance, and firmware that cannot recover a stuck bus. Off-board cables usually call for a bus buffer or a different interface.
Founder takeaway
Keep I²C on the board, check for address conflicts in the schematic, and make sure the firmware can recover a stuck bus.
engineer review pending