I2C operationĪs a quick recap I2C, or the ”Inter-Integrated Circuit Bus”, is a method of exchanging serial data between two or more devices. If you just need a quick refresher then please read on. If you need a detailed explanation about the I2C bus please see the first article in this series.
I2C Voltage Levelsīefore we examine the issues with mixing multiple I2C devices of different logic-levels it would be a good idea to make sure that we are familiar with the i2c bus and how it operates. In fact, there are two ways to do it.įollow along and we’ll examine both ways of interfacing a Raspberry Pi and an Arduino using the I2C bus. However, despite these voltage differences it is possible to interface the two devices. The Raspberry Pi uses 3.3-volt logic, whereas most Arduino’s (including the Arduino Uno) make use of 5-volt logic. Both the Arduino and the Raspberry Pi support I2C, however interfacing them can present a special challenge as they don’t work at the same logic voltage levels.