I2C bus communication
The Inter-integrated Circuit (I2C) Protocol is a protocol intended to allow multiple “slave” digital integrated circuits (“chips”) to communicate with one or more “master” chips. Like the Serial Peripheral Interface (SPI), it is only intended for short distance communications within a single device. Like Asynchronous Serial Interfaces (such as RS-232 or UARTs), it only requires two signal wires to exchange information.
Sparkfun guide to I2C communication protocol: https://learn.sparkfun.com/tutorials/i2c
I2C communication basics: https://www.electronicshub.org/basics-i2c-communication/
I2C primer: https://www.i2c-bus.org
Seeed Studio wiki Arduino Software I2C user guide: http://wiki.seeedstudio.com/Arduino_Software_I2C_user_guide/