Goal
Learn how I2C and SPI move bits, why their wiring differs, and which protocol fits a sensor, memory, or display task.
Compare I2C and SPI bus wiring, timing waveforms, addressing, chip-select, ACK, and clock-mode behavior.
Watch the same embedded-device conversation as bus wiring, protocol steps, and timing waveforms. The controls deliberately connect signal-level details to practical design choices.
Learn how I2C and SPI move bits, why their wiring differs, and which protocol fits a sensor, memory, or display task.
Step through I2C temperature read, then switch to SPI flash read and compare the wire count and timing.
The active bit marker, waveform rows, metric cards, and event log update together as the transaction advances.
Many hardware bugs are not code bugs; they are pull-up, chip-select, clock-mode, or bus-loading mistakes.
START and address. SPI pulls one CS line LOW.
The waveform highlights the current bus event and the bit that the learner should inspect.
I2C uses shared open-drain lines and pull-up resistors.
Every byte has a ninth ACK/NACK clock.SPI uses a separate chip-select path to choose the active peripheral.
Clock mode must match before data bits make sense.Choose the bus from wiring, speed, device count, and error-detection needs.
Fewer wires is not always better than simpler timing.SCL clock and SDA bidirectional data.START: SDA falls while SCL is HIGH. STOP: SDA rises while SCL is HIGH.SCLK, MOSI, MISO, and one or more CS lines.0.8473 * Rpullup * Cbus.frame bits / SCLK; real devices may add command latency or wait states.Select I2C temp, raise bus load to 400 pF, then compare weak and strong pull-ups. Explain what changes.
Select SPI flash and switch through modes 0-3. Identify the sample edge for each mode.
Select Design choice. Decide whether a small sensor board or fast display should use I2C or SPI and justify it.