What is difference between I2C and SPI protocol

As an embedded Engineer, I came across this question many times. I have seen it is required to have a small descriptive answer to differentiate both. This is for the people who all are preparing for your interviews.

  • I2C is developed by Philips while SPI is developed by Motorola. 
  • I2C is half duplex communication whereas SPI is full duplex communication. 
  • SPI will latch the data either on rising or falling edge depending on a mode.

Maximum Speed of Communication:

In case of I2Ccommunication speed is limited to 100/400kbps in 7-bit mode max 400kbps. I2C has two modes of operation i) 7 bit and ii) 10 bit. You can achieve the speed of more than 1MPBS with SPI communication

Required Pins:

I2C is two wire communications it require only two lines (SDA & SCL) Where as SPI require slave select for the each device you connect with it. So it is ways to connect more than one device to the controller without much change in hardware.


Multi-master communication is possible in case of I2C. It has zero wins mechanism for bus management.

Software Reusability:

Once you implement the basic communication module of I2C, It is easy to add and edit the change in code compare to SPI communication.

Noise sensitive:

Noise sensitivity of I2C is high compared to SPI.
Share on Google Plus

About Unknown

"I am Kapil Thakar, an Embedded Engineer cum Blogger wants to learn new things. I love to share my knowledge solutions to the problems. Interested in Blogging, Creative-Writing, SEO, Website Creation, Video Making, Editing, Affiliation Programs, Online Making Money."
    Blogger Comment
    Facebook Comment


Post a Comment

Related Posts Plugin for WordPress, Blogger...