Beginner Troubleshooting


Good troubleshooting skills are vital to the electronics hobbyist. More often than not, a circuit is not going to work perfectly on the first try, especially as a beginner. It can be very intimidating when a component on a board gets hot, exhibits unexpected behavior, does nothing at all, or even explodes. Where does one start troubleshooting? The answer is different for every situation and even with practice one will come across errors that can't be immediately explained. Jedi-like troubleshooting skills come only with experience, but there are some common problems that can be diagnosed quickly, and understanding these common problems and how to check for them is a starting place common to beginners and masters.

Let's say you plug in your circuit, and something is wrong. It could be not working at all, or behaving in a way that you don't expect. There are issues you should ALWAYS check for before you even get out the multimeter. These may seem obvious, but it's better to start simply than troubleshoot more complex issues for hours just to find a silly mistake.

  • Is power connected correctly? Connecting ground to a power connection and power to a ground connection (rather, positive to negative and negative to positive) can damage a device and will obviously not allow for proper behavior. Check for it. Even the most experienced professionals will do this from time to time.
  • Are the components soldered correctly? If an LED isn't lighting up, maybe the orientation of the LED is incorrect. Is your square-shaped device soldered so that Pin 1 is where it's supposed to be? Check for this early. Performing hours of troubleshooting to finally discover that a chip is on backwards is about as frustrating as it gets.
  • Are there solder jumpers/shorts on the board? Check your chips for solder jumpers between pins. A quick visual inspection can be worth hours of debugging good code.
  • Are there bad solder joints? One bad solder joint can hork an entire circuit. Make sure they are all nice and shiny, and that the pins of a surface mount device are actually touching the pad on the board and not just floating above with solder on them.

So -- you've preformed all of the tests above and something is still not working. This indicates a potentially more complex problem, but still there are some general tests one should perform before hooking up the logic analyzer.

  • Is the board bad? This happens every now and then. Perform a continuity test between the VCC and Ground traces on the board. Rather than risk damaging your devices, make sure that the ground signals on the board are not shorting to VCC because of a board defect.
  • Are your components the correct values? A perfectly soldered resistor is no good if it's not the correct value. Maybe you accidentally used the 12MHz clock instead of the 16MHz you meant to use.

The above tests can all be performed in about two minutes, and even though they're simple (and it hurts a designer's ego to find out she/he made such a simple mistake) they rule out the biggest common issues with improperly functioning circuits. If a circuit passes all these tests, then one can start digging into manuals, debugging code, and checking voltages with a multimeter with the knowledge that the error is not due to a simple common problem.

Example question:

You have a circuit board with the circuit shown below. You power the device, and the LED lights up, but when you attempt to program the ATTiny, the programming fails. The ATTiny chip is soldered in the correct orientation. Which of the following should you do next?

A) Check the VCC and GND traces on the board for a short
B) Check that the 330 Ohm resistor is the correct value
C) Inspect the soldering of the chip for cold joints and jumpers

Answer: C

The LED is functioning properly, so you know that there is no short from VCC to GND on the board. The LED is lighting up, so the resistor is probably the correct value. The ATTiny is in the correct orientation, so if it's not programming, it's likely not soldered properly to the board. A single cold solder joint will cause bad connectivity and not allow programming. Check the board for "gray" (as in not shiny) solder joints, as this is usually indicative of an incorrectly soldered pin.

Comments 5 comments

  • Capacitors intimadate me.

  • LOL, My first mistake made 25 capacitors explode.

  • hork?
    If I’m using socketed IC’s, I always like to check power supply voltages at the socket before inserting the chip. You can also use an ohmeter to check between adjacent pins on the socket to be sure you did not get overzealous with the solder.

  • Two that have served me well: check to make certain that a single ground is being referenced by the whole system (particularly if two devices appear to function, but won’t “talk”), and feel around too see what is too hot and what is too cold.<br />
    <br />
    When I had a “you can have this if you can make it work” opportunity many years ago, I used the latter one to find which chip of the hundred or so in an Apple II was reversed (it turns out that there is exactly one which has text facing the back instead of the keyboard when inserted correctly, and it had been “fixed”). The computer still works, btw, Hardy chips back then.<br />
    <br />
    Oh yeah, and are any batteries present still near their nominal voltage, or are they worn out. Near the end of a long debug, there’s always this new failure that crops up…

  • Failing to connect power is my number one point of failure. Even after I’ve double-checked it, it turns out I needed to triple check it. So, for every chip I’ve installed, I’ve been pulling out a multimeter and probing the power pins as close as possible to chip, to make sure they’re getting the proper voltage.<br />
    <br />
    The other day, I lost about four hours trying to debug a problem with a XBee. First I probed the power connections where I soldered the pins to the PCB, and they seemed fine. Four frustrating hours later, I probed the solder connections on the XBee itself (probing as close to the chip as possible) and I discovered that my connector was faulty.<br />
    <br />
    Also, for more debugging, I highly recommend this book:<br />
    http://www.amazon.com/Debugging-Indispensable-Software-Hardware-Problems/dp/0814471684/ref=sr_1_1?ie=UTF8