# I2C Foundations ## What is I2C? **I2C** (Inter-Integrated Circuit) โ a two-wire bus protocol for communicating with sensors, displays, and other devices. - **SDA** โ Serial Data (bidirectional) - **SCL** โ Serial Clock (driven by the controller) Multiple devices share the same two wires. Each device has a unique **7-bit address**. --- ## Theory of Operation
- The **master** (our microcontroller) orchestrates all bus operations - Addresses **slaves** using the 7-bit address - Data exchange speed governed by the **clock speed** (on SCL) - Two **master** operations: **read** or **write**, in **one-byte chunks** --- ## Configurations | Setting | Description | |---------|-------------| | **Clock frequency** | 100 kHz (standard), 400 kHz (fast), or custom | | **SDA/SCL pins** | Any GPIO with I2C capability | --- ## I2C Actions ### Write Provide the **slave address** and an **array of bytes** to write. ### Read Provide the **slave address** and a **byte array buffer** for received data.
The Embedded Rustacean ยท Rust Week 2026