Heart Beat Sensor

Heart Beat Sensor

Heartbeat SensorUse our Heartbeat sensor to measure the Heart Rate or pulse rate of a person. H..

PLC 1672 Power Line Modem

PLC 1672 Power Line Modem

PLC 1672 Power Line Communication ModemPower line Modem is a communication module which sends data o..

Introduction to I2C Protocol

I2C is a MULTI MASTER SERIAL BUS i.e. more than one device capable of controlling the bus can be connected to it. It was invented by PHILIPS & stands for Inter-Integrated Circuit. Several Memory IC's like EEPROM and some RTC like DS1307 use I2C communication to interface with microcontroller.


In I2C only two bi-directional lines Serial Data (SDA) & Serial Clock (SCL) are required to carry information between the devices connected to the bus. Each I2C device is recognized by a unique 7-bit address. The device that initiates the communication is called MASTER. The master controls the clock signal. Whereas the device being addressed by the Master is called as SLAVE. Generation of clock signals on the I2C-bus is always the responsibility of master devices; each master generates its own clock signals when transferring data on the bus.

Data on the I2C bus can be transferred in three modes:

1) Standard Mode: 100kbps.

2) Fast Mode: 400kbps

3) High Speed Mode: 3.4Mbps.


The maximum number of nodes is obviously limited by the address space, and also by the total bus capacitance of 400 pf.


The master begins the communication by issuing the START condition followed by 7- bit unique address/Control Byte of the device it wants to access.The eighth bit after the start specifies if the slave is now to receive (0) or to transmit (1).  After reciving the address all IC's on the I2C bus will compare with their own address & if the address does not match, it will wait till a STOP is received. If address matches a ACKNOWLEDGE signal is generated by the Slave.


Following receipt of the slave’s address acknowledgment, the master continues with the data transfer. If a write operationhas been ordered, the master transmits the remaining data, with the slave acknowledging receipt of each byte. If the master has ordered a read operation, it releases the data line and clocks in data sent by the slave. After each byte is received, the master generates an acknowledge condition on the bus. The acknowledge is omitted following receipt of the last byte. The master terminates all operations by generating a stop condition on the bus. The master may also abort a data transfer at any time by generating a stop condition.




BOTH Data & Clock lines remain high.


A HIGH to LOW transition of SDA line while the SCL is high.


A LOW to HIGH transition of SDA line while the SCL is high.


During Data transfer, the data on must be changed during the LOW period of the clock signal i.e. the data line must remain stable whenever the clock line is HIGH. Any change in data line while clock is HIGH will be interpreted as START or STOP condition.


Each device when addressed to has to generate an acknowledge signal after the reception of each byte. The master generated an extra clock pulse which is associated with the ACKNOWLEDGE bit. The device that acknowledges pulls down the SDA line during the acknowledge clock pulse.


Written by Amol Shah

Amol Shah

Founder of DNA Technology an Electronic Engineer by choice. Started working on this website as an Hobby and now its a full time venture. Very passionate about Electronics and like to learn new stuff. Want to make DNA Technology one of the best Online Store for Electronics Components in India.
Follow Me Twitter | Facebook | Google Plus | Instagram