Main Content

I2C properties

Set the I2C bus properties of an Arduino® board to effectively manage I2C communication between the Arduino board and I2C peripheral devices. Configure I2C bus properties such as speed, specify SDA and SCL pin numbers.

For every I2C module, you can individually configure the bus speed, SDA and SCL pins. However, not all Arduino boards support configuring I2C module 0 and module 1. This table lists the I2C modules supported by different Arduino boards.

Arduino BoardsSupported I2C Modules
Arduino Due, Teensy 4.0 (Arduino Compatible), Teensy 4.1 (Arduino Compatible), Raspberry Pi® Pico (Arduino Compatible), Raspberry Pi Pico W (Arduino Compatible)I2C0, I2C1
Arduino Leonardo, Arduino MKR WiFi 1010, Arduino MKR 1000, Arduino MKR Zero, Arduino Mega 2560, Arduino Mega ADK, Arduino Micro, Arduino Nano 3.0, Arduino Nano 33 BLE Sense, Arduino Nano 33 IoT, Arduino Nano RP2040 Connect, Arduino Robot Control Board, Arduino Robot Motor Board, Arduino Uno, Arduino Uno R4 Minima, Arduino Uno R4 WiFi, ESP32-WROOM (Arduino Compatible), ESP32-WROVER (Arduino Compatible)I2C0

I2C Bus speed (Hz)

Set the rate at which data is transferred over the I2C bus in Hertz. This speed determines the data communication rate between peripherals that are connected by the I2C bus.

Settings

Default: 100000

I2C SDA pin

Set the serial data pin number of the Arduino board to which the I2C peripheral device is connected. This table lists the Arduino boards that support configuring the SDA pins for I2C modules 0 and 1.

Supported Arduino BoardsI2C Module 0I2C Module 1
ESP32-WROOM (Arduino Compatible), ESP32-WROVER (Arduino Compatible)21 (default), 0-5, 12-19, 22-23, 25-27, 32-36, 39NA
Raspberry Pi Pico (Arduino Compatible), Raspberry Pi Pico W (Arduino Compatible)4 (default), 0, 8, 12, 16, 2026 (default), 2, 6, 10, 14, 18

I2C SCL pin

Set the serial clock pin number of the Arduino board to which the I2C peripheral device is connected. This table lists the Arduino boards that support configuring the SCL pins for I2C modules 0 and 1.

Supported Arduino BoardsI2C Module 0I2C Module 1
ESP32-WROOM (Arduino Compatible), ESP32-WROVER (Arduino Compatible)22 (default), 0-5, 12-19, 21, 23, 25-27, 32-36, 39NA
Raspberry Pi Pico (Arduino Compatible), Raspberry Pi Pico W (Arduino Compatible)5 (default), 1, 9, 13, 17, 2127 (default), 3, 7, 11, 15, 19