EFA:Protocols:I2C

The I2C communication protocol is very common in modern sensors and other parts. Whenever you see pins labelled as SDA and SCL, it means that you are dealing with a part that requires the use of the I2C protocol.

Matti’s Note:  I2C is supposed to be pronounced i-squared-c. Some people get really upset if you say i-two-c. So naturally I normally say i-two-c and also usually write it as I2C.

Advantages of I2C:

  • You can send and receive lots of data with only two wires
  • You can connect multiple devices to the same I2C bus

Disadvantages of I2C:

  • Can seem very complicated and overwhelming for beginners (but luckily you will usually find an Arduino library for all the parts that you are using)
  • Does not work over long distances (but there are ways to get around this using various extenders). In normal use you should keep your wire lengths as short as possible (under 50 cm).

I2C + Arduino

Pretty much all Arduino compatible boards have the possibility to use the I2C bus. On the Arduino Uno the pins are:

  • A4 for SDA
  • A5 for SCL

The pins are also broken out on the digital pins row next to the AREF pin.

Qwiic Connectors and Parts

You have in your kit a Qwiic shield. It is a shield for the Arduino that has 4 Qwiic connectors that allow you to easily use I2C enabled sensors and other parts. It works the best using sensors and other breakout boards that have the same connector, but you can also use any other

More Information