I²C vs SPI protocols

It is common to find both I²C and SPI used at the low end of the communication protocols. Both are interfacing between two integrated circuits - Master / Slave.

  • I²C - Inter-Integrated Circuit
  • SPI - Serial Peripheral Interface
I²C SPI
Number of lines required Only 2 signal lines (Clock x 1, Data x 1) Minimum 4 signal lines (Clock x 1, Data_Out x 1, Data_In x 1, CS (chip select) x 1
Data rate Lower speed, up to 3.4Mbps Higher speed, up to 10Mbps (full-duplex communication)
Power consumption More power Less power
Multiple device communication Communicates multiple devices on the same bus Requires additional CS line to manage multiple devices on the same bus
Data Verification Ensures the slave node receives the data Does not verify data reception
Overhead More overhead includes acknowledgement, Start and Stop Less overhead
Noise Sensitivity High Less

See Also:
An Overview of SPI, RS-485, and SSI Protocols