Back To Basics: I3C

I3C is one of the newer standards in the wired domain and yes, the name is deliberately similar to I2C. It’s called “Improved Inter-Integrated Circuit”. Developed by the MIPI Alliance as an evolution of the older I2C protocol, it addresses some of the limitations of I2C, like its restricted speed. Just a heads-up: it’s pronounced ‘eye-three-see,’ not “eye-cubed-see,” unlike how I2C is pronounced “eye-squared-see.”


I3C still uses the familiar two-wire interface (SDA and SCL) but has enhanced features. SDA carries data and SCL the clock. I3C introduces dynamic address assignment, where devices can be automatically assigned addresses without manual configuration. Additionally, it supports hot-join, allowing devices to join the bus after initialization without disrupting communication which is a big feature upgrade from I2C. In-Band-Interrupts is a new feature that allows the slave devices to generate interrupts without requiring an external signal. In I2C master usually polls the slaves for info or the slave pings the master via a separate line. I3C can theoretically now reach a speed of 33Mbps compared to 3Mbps in the latest I2C HS mode which is coming close to the SPI realm of things. I3C handles this by reducing the bus capacitance limit to 50pF from 400pF on I2C. It supports lower voltage levels like 1.2V and 1.8V. Also, you don’t need external resistors as it’s built-in.

Why does it matter? The new protocol provides a standardized method for connecting multiple sensors to an SoC using just two lines. Imagine IoT sensors all utilizing a common 2-line protocol – it greatly simplifies layout and connections. It’s designed to address the need for higher speeds in connecting multiple sensors within mobile devices. I3C offers a future-proof solution that retains the simplicity of I2C while enhancing performance.

It’s still early days for this protocol. Currently, only a limited number of SoCs and sensor modules support it. I expect a gradual adoption over the next few years. Personally, I wouldn’t recommend using it in projects unless there’s a compelling reason to do so.

If you liked the post, Share it with your friends!

Comments are closed.