Here is a list of terminology used in I2C use.
The wires used to connect I2C devices from TARGETs to the CONTROLLER. The bus consists of the SDA and SCL wires and should also have a common ground wire. If distributing power, a power line may be added.
This is the host device and has most of the responsibility for controlling the I2C bus. Typically, there is only one controller. Examples are Arduino boards, CircuitPython boards, Raspberry Pi's, etc. Your user code runs on the controller.
This is the target device being talked to by the controller. There can be more than one target on the I2C bus as long as each has a unique address. Examples are the various I2C sensor breakouts.
All I2C target devices have an address. Typically, this is a 7 bit value. Each target on an I2C bus must have a unique address.
This is the Serial DAta pin and/or signal. It carries the data being sent. It is one of the two main I2C signals. The other being SCL.
This is the Serial CLock pin and/or signal. It provides the clock signal used for synchronizing reading the data. It is one of the two main I2C signals. The other being SDA.
An I2C exchange between a controller and a target. It begins with a START and ends with STOP. In between is the actual exchange, the specifics for which can vary.
As the name implies, this is what starts an I2C transaction. A start condition is generated by transitioning SDA from HIGH to LOW while SCL is HIGH.
An I2C stop signals the end of an I2C transaction. It is generated by transitioning SDA from LOW to HIGH while SCL is HIGH.
This is the same as a START. The only difference is that it occurs after an initial start and without a subsequent STOP.
Acknowledge (ACK) and Not Acknowledge (NACK). This is a single bit used within the I2C protocol to indicate various conditions. It is sent on SDA after each byte has been transferred. Generally:
- ACK = SDA LOW
- NACK = SDA HIGH
PULL UP RESISTORS
These are the resistors required by the I2C bus. There are two. One between SDA and VCC. One between SCL and VCC.
This will be explained more as we go along.