I2C stands for Inter-Integrated Circuit. It is mainly used for communication between multiple chips on the same board using just two wires: one for data and one for clock.
Click to reveal answer
beginner
What does SPI stand for and what is its main use?
SPI stands for Serial Peripheral Interface. It is used for fast communication between a master device and one or more slave devices using separate lines for data and clock.
Click to reveal answer
beginner
Which protocol uses fewer wires: I2C or SPI?
I2C uses fewer wires (2 wires) compared to SPI (at least 4 wires). This makes I2C simpler for wiring but sometimes slower.
Click to reveal answer
intermediate
Which protocol is generally faster: I2C or SPI?
SPI is generally faster than I2C because it uses separate lines for sending and receiving data and can run at higher clock speeds.
Click to reveal answer
intermediate
When should you choose I2C over SPI?
Choose I2C when you need to connect multiple devices with minimal wiring and moderate speed is acceptable. It is good for simple sensor networks and low pin count.
Click to reveal answer
How many wires does I2C use for communication?
A2 wires
B3 wires
C4 wires
D1 wire
✗ Incorrect
I2C uses two wires: one for data (SDA) and one for clock (SCL).
Which protocol typically supports multiple masters on the same bus?
AUART
BSPI
CI2C
DCAN
✗ Incorrect
I2C supports multiple masters on the same bus, allowing more flexible communication.
Which protocol usually requires more pins on the microcontroller?
AI2C
BSPI
CBoth require the same
DNeither requires pins
✗ Incorrect
SPI requires at least 4 pins (MISO, MOSI, SCLK, SS) plus one SS pin per slave, so it uses more pins.
Which protocol is better for high-speed data transfer?
AI2C
BNeither supports high speed
CBoth are equally fast
DSPI
✗ Incorrect
SPI is better for high-speed data transfer due to its dedicated data lines and higher clock rates.
If you want to connect many devices with minimal wiring, which protocol is preferred?
AI2C
BUSB
CUART
DSPI
✗ Incorrect
I2C uses only two wires and supports multiple devices, making it ideal for minimal wiring.
Explain the main differences between I2C and SPI protocols.
Think about wiring, speed, and how many devices can connect.
You got /4 concepts.
Describe a scenario where you would choose SPI over I2C and why.
Consider when fast communication is more important than wiring simplicity.
You got /4 concepts.
Practice
(1/5)
1. Which communication protocol uses only 2 wires and is suitable for connecting many devices with simple wiring?
easy
A. UART
B. SPI
C. CAN
D. I2C
Solution
Step 1: Recall wire count for I2C
I2C uses 2 wires: SDA (data) and SCL (clock).
Step 2: Compare with SPI wiring
SPI uses 4 wires, so it is not the protocol with only 2 wires.
2. Which of the following is the correct way to describe SPI wiring in embedded C context?
easy
A. SPI uses 3 wires: TX, RX, and CLK
B. SPI uses 2 wires: SDA and SCL
C. SPI uses 4 wires: MOSI, MISO, SCLK, and SS
D. SPI uses 1 wire for data
Solution
Step 1: Identify SPI signal lines
SPI uses 4 wires: MOSI (Master Out Slave In), MISO (Master In Slave Out), SCLK (clock), and SS (slave select).
Step 2: Eliminate incorrect options
Options B, C, and D do not list the correct 4 SPI wires.
Final Answer:
SPI uses 4 wires: MOSI, MISO, SCLK, and SS -> Option C
Quick Check:
SPI = 4 wires (MOSI, MISO, SCLK, SS) [OK]
Hint: SPI always has MOSI, MISO, SCLK, and SS wires [OK]
Common Mistakes:
Confusing SPI with I2C wire names
Forgetting slave select (SS) wire
Assuming SPI uses only 2 or 3 wires
3. Given the following scenario: You need to connect 8 sensors to a microcontroller and require moderate speed communication. Which protocol is best suited?
medium
A. I2C, because it supports multiple devices with simple wiring
B. SPI, because it supports many devices easily
C. SPI, because it uses only 2 wires
D. I2C, because it is faster than SPI
Solution
Step 1: Analyze device count and wiring complexity
Connecting 8 sensors means many devices; I2C supports multiple devices on 2 wires easily.
Step 2: Consider speed and wiring
I2C is moderate speed but simpler wiring; SPI is faster but wiring gets complex with many devices.
Final Answer:
I2C, because it supports multiple devices with simple wiring -> Option A
Quick Check:
Many devices + simple wiring = I2C [OK]
Hint: Many devices + simple wiring = I2C [OK]
Common Mistakes:
Choosing SPI for many devices ignoring wiring complexity
Assuming SPI uses 2 wires
Thinking I2C is faster than SPI
4. You wrote code to communicate with a sensor using SPI but the data is corrupted. Which of these is a likely cause?
medium
A. Using only 2 wires instead of 4 for SPI
B. Connecting multiple devices on I2C bus
C. Using I2C speed settings for SPI communication
D. Using pull-up resistors on SPI lines
Solution
Step 1: Check wiring requirements for SPI
SPI requires 4 wires; using only 2 wires can cause data corruption.
Step 2: Evaluate other options
Options A and C relate to I2C or speed mismatch, less likely cause of SPI data corruption; pull-ups on SPI lines are usually not needed.
Final Answer:
Using only 2 wires instead of 4 for SPI -> Option A
Quick Check:
SPI needs 4 wires, missing wires cause errors [OK]
Hint: SPI needs all 4 wires connected for reliable data [OK]
Common Mistakes:
Using I2C settings for SPI communication
Ignoring missing wires in SPI
Adding pull-up resistors unnecessarily on SPI
5. You want to design a system with 3 devices requiring very fast data transfer and minimal wiring complexity. Which protocol should you choose and why?
hard
A. I2C, because it uses fewer wires and supports fast speed
B. SPI, because it supports fast data transfer with fewer devices
C. I2C, because it supports many devices even if slower
D. SPI, because it uses only 2 wires and is simple
Solution
Step 1: Analyze device count and speed needs
3 devices is a small number; SPI is better for fast data transfer with fewer devices.
Step 2: Consider wiring complexity
SPI uses 4 wires but with fewer devices wiring is manageable; I2C is slower though uses 2 wires.
Final Answer:
SPI, because it supports fast data transfer with fewer devices -> Option B
Quick Check:
Few devices + fast speed = SPI [OK]
Hint: Few devices + fast speed = SPI [OK]
Common Mistakes:
Choosing I2C for fast speed needs
Assuming SPI uses only 2 wires
Ignoring device count impact on wiring
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.