

The I2C bus uses what’s known as an open-drain (or open-collector) output driver for both SDA and SCL lines. For example, the Arduino (Atmega328p) microcontroller supports up to the Fast-Mode (Fm) which has a data transfer rate up to 400 kHz. You have to refer to the specific device datasheet to check the typical details for the i2c hardware specifications that have actually been implemented on-chip.

Fast-Mode Plus (Fm+), with a bit rate up to 1 Mbit/s.Fast-Mode (Fm), with a bit rate up to 400 kbit/s.Standard-Mode (Sm), with a bit rate up to 100 kbit/s.Ultra Fast-mode devices are not compatible with previous versions since the bus is unidirectional. This means any device may be operated at a lower bus speed category than its own. Standard-mode, Fast-mode (Fm), Fast-mode Plus (Fm+), and High-speed mode (Hs-mode) devices are downward-compatible. The I2C Bus has five operating speed categories. And it’s considered the most efficient serial communication bus in terms of the number of IO pins needed to establish a communication network of multiple devices. Each device has a unique ID that others can use to directly address that specific device. The I2C is a multi-master multi-slave protocol that supports a large number of devices on the same 2-wire bus. Hence the name, TWI ( Two- Wire Interface). It consists of 2 pins only (one for serial data and one for the serial clock). I 2C, I2C, or IIC ( Inter- Integrated Circuit) is a very popular serial communication protocol that’s widely used by different sensors and modules in embedded systems. Arduino I2C Example – I2C LCD 16×2 Interfacing.I2C Communication Between Two Arduino Boards.Arduino I2C Communication Configurations.

Without further ado, let’s get right into it! Table of Contents Arduino Basic: How to use the Arduino I2C Scanner?
