The structured reference for the i2c bus.
Every i2c connector standard, every common sensor and board with its i2c address and voltage, every compatibility pairing — plus interactive tools you'll bookmark: a cross-compatibility checker, a pinout visualizer, and a "which connector for my project" picker.
Interactive tools
i2c tools a chatbot can't replace
Compatibility checker
Pick what you have and what you want to connect — get the exact cable or adapter, with the voltage gotchas surfaced.
Open →Pinout visualizer
Every standard's pin order, colour-coded, with hover detail on SDA, SCL, power and interrupt.
Open →Which connector?
Answer two questions about your project and get a recommended standard with reasons.
Open →The i2c tool
Scan, identify, monitor and read/write registers from a console — Arduino, MicroPython and Raspberry Pi in one download.
Get it →Reference
The i2c reference dataset
Guides
i2c guides people actually search for
What is i2c?
Inter-Integrated Circuit in plain English — what the two wires do, what it's for, and what i2c stands for.
Read →i2c address list
Every common sensor by 7-bit address, the reserved ranges, and the 0x76-vs-0xEC datasheet trap.
Look up →i2c vs SPI vs UART
The three serial buses side by side — wires, speed, addressing, and a rule for picking one.
Compare →i2c LCD on Arduino
Wire a 1602/2004 LCD over i2c with a PCF8574 backpack and LiquidCrystal_I2C — address, contrast, code.
Read →Pull-up resistors
What value, when to change it, and the chained-breakout trap that kills long Qwiic chains.
Read →Address conflicts
Two identical sensors, one bus: jumpers, software remapping, and the TCA9548A multiplexer.
Read →Level shifting
3.3 V and 5 V on one bus without killing anything — why dividers fail and the $1 MOSFET fix.
Read →i2c HID Device
The Device Manager entry Windows shows for your touchpad — how HID over i2c works, and fixing Code 10.
Read →All articles
Scanners, troubleshooting, Raspberry Pi setup, clock stretching and sensor picks — the hands-on side.
Browse →The basics
What is the i2c bus?
i2c stands for Inter-Integrated Circuit (written i2c or IIC, said "eye-squared-C"). It's a two-wire serial bus: a controller talks to many chips over just SDA (the data line) and SCL (the clock line), plus power and ground. Because one pair of wires can address dozens of devices, i2c is the default way sensors, displays, memory, real-time clocks and GPIO expanders connect to Arduino, Raspberry Pi, ESP32 and nearly every other board. New to it? Start with what is i2c or the byte-level walkthrough in how i2c works.
The bus itself is only half the story. The hobby world wrapped i2c in plug-together connector ecosystems — SparkFun's Qwiic, Adafruit's STEMMA QT, Seeed's Grove, DFRobot's Gravity, Pimoroni's Breakout Garden — and they don't all mate, don't share pin order, and don't agree on voltage. Which cable, which adapter and which combinations are safe is exactly what the compatibility checker and the pairing reference answer.
Every device on the bus answers to a 7-bit i2c address, and that's where projects usually stumble: two sensors claiming the same address, a datasheet quoting 0xEC when the scanner says 0x76, or a mystery part nobody can identify. The i2c address list maps the common ones, and the conflict guide covers running identical devices anyway.
The electrical layer bites too: i2c lines need pull-up resistors, mixing 3.3 V and 5 V logic calls for a level shifter, and every speed grade tightens the wiring rules. Wondering how i2c compares to other buses? See i2c vs SPI vs UART. This site is structured data underneath — one curated dataset generates every standard, board and pairing page, so the reference stays consistent everywhere you land.
The i2c bus is also far bigger than the maker bench. Philips built it in 1982 for television chassis, and today the same two wires run inside nearly every laptop (your touchpad is an I2C HID Device), every monitor cable, and most battery packs — it's arguably the most widely deployed bus in electronics, four decades on.
And when a bus misbehaves, tooling beats guesswork: our free i2c tool scans the bus from a console, reads each chip's WHO_AM_I register to identify what the silicon actually is — telling a genuine BME280 from the BMP280 an Amazon listing shipped you, or an HMC5883L from its QMC5883L clone — and monitors traffic live on Arduino, MicroPython and Raspberry Pi. Wiring problems first? Work the 7-step checklist, then scan the bus.
Quick answers
i2c questions, answered fast
What does i2c stand for?
i2c stands for Inter-Integrated Circuit — a two-wire serial bus invented by Philips (now NXP). It's written i2c, i2c or IIC, and said "eye-squared-C" or "eye-two-see". The two wires are SDA (data) and SCL (clock).
What is i2c used for?
Connecting low-speed peripherals to a microcontroller or single-board computer over two shared wires: temperature and environmental sensors, OLED displays, real-time clocks, EEPROMs, ADCs and GPIO expanders. One i2c bus, dozens of devices, each answering to its own 7-bit address.
How does i2c work?
The controller drives the SCL clock and starts every exchange with a start condition, then sends the 7-bit address of the device it wants. That device acknowledges, and data flows one bit per clock on SDA, most significant bit first, until a stop condition frees the bus. Full walkthrough in our how-i2c-works guide.
What's the difference between Qwiic and STEMMA QT?
They share the identical JST-SH 4-pin connector and pinout, so they plug together freely. The difference is voltage: SparkFun Qwiic is strictly 3.3 V, while Adafruit STEMMA QT boards add on-board level shifting so they tolerate 3.3 V or 5 V hosts.
Do I need pull-up resistors for i2c?
The bus always needs them — SDA and SCL are open-drain and only return high through resistors. In practice most breakout boards include pull-ups, so plug-together chains just work; bare chips on a breadboard need about 4.7 kΩ per line.
How fast is i2c?
Standard-mode runs at 100 kHz and Fast-mode at 400 kHz — where almost all sensor work happens. The spec goes on to 1 MHz (Fast-mode Plus) and 3.4 MHz (High-speed), but for anything bandwidth-hungry like big displays or storage, SPI is the better bus.