LabWired The easy way to build hardware
Learn · Track 01

Debugging the buses you ship on

The serial buses used in most embedded products, and the failures that each bus causes without an error message. Each lesson gives the check that finds the failure, and a lab that operates in the browser.

  1. Debugging I²C

    I²C uses two wires on one shared bus. Each device can only pull a line down. This lesson gives the four common failures. The failures are absent pull-up resistors, address conflicts, clock stretching, and incorrect probe connections. A check finds each failure.

    Lesson 1 · ~14 min

  2. Debugging SPI

    Clock polarity or phase can be incorrect. A chip-select signal can be incorrect. A slave can continue to drive MISO. The bus can stop at one clock frequency.

    Coming soon · ~12 min

  3. Debugging CAN

    A filter can discard every frame and give no message. Bit timing can set the controller to the bus-off state. An ISO-TP flow control failure can come from real hardware.

    Coming soon · ~14 min

  4. Debugging UART

    TX and RX can connect incorrectly. Logic levels can disagree. A receiver overrun discards bytes. The system can look correct.

    Coming soon · ~10 min