Debugging Tips

Since making the move to online classes, I made a YouTube video showing common mistakes made in digital systems labs:

I also wrote a post about debugging a microcontroller project that I was working on using a real-time clock (RTC) and an Arduino. It’s most relevant to microcontrollers students, but even digital students might gain some insight reading about my debug process. (This one was a doozy and took me several hours to figure out.)

Following are some of the most common errors in setting up circuits on a breadboard. Try checking these issues if you are having difficulty with your circuit.

  • Broken pin on IC
    • Remove the IC and check that all pins are OK
    • Use a logic probe to check the pins and the adjacent row on the breadboard to ensure a connection between the two
  • Incorrect IC used (i.e. NOT instead of AND)
    • Check the IC number and confirm with a datasheet
  • Inserting a jumper wire one row higher or one row lower than it should be
  • Shorting pull-down resistors on DIP switch
  • Vcc not connected to all DIP switch inputs
  • Placing two connections adjacent in a single row of the breadboard
  • Floating inputs on an IC (unless specified on the datasheet)
  • Connections between IC outputs and Vcc or ground
    • Outputs should NEVER be directly connected to Vcc or ground
  • Loose connections
    • If moving around the wires causes the circuit to work, there is probably a loose connection
  • Incorrect resistor values
    • Working with TTL devices, all pull-down and current-limiting resistors should be 220 Ω (red-red-brown)
    • Otherwise all pull-up and pull-down resistors should be 10 kΩ (brown-black-orange)
  • When building designs with many ICs and connections to VCC and GND:
    • DO NOT coil up wires into loops!!! (Especially not GND wires!!!)
    • Use bypass capacitors on each IC to smooth out the power supply. A bypass cap is a ~0.1 uF ceramic capacitor connected between VCC and GND and placed physically as close to the IC as possible. The figure below shows an example of bypass capacitors used in a circuit design.
Bypass capacitors (0.1 uF) in a circuit using many ICs.
Bypass capacitors (0.1 uF) in a circuit using many ICs.