Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page will go over the process of me (Micah Black) debugging a controller board - I brought 3 home to be able to work remotely on hardware validation, and it turns out that none of them work. I am making this page partly to keep track of what I test, as well as give others an idea of how to debug boards.

Controller Board 3

Updated May 4, 2020

Initial State

This board is labelled number 3, and is a REV 7 controller board.

...

Replacing the MCU, we now have high resistance on the 3V3. So we should be able to program it, powering the board from the programmer.

Current State

Now the board uploads properly and has flashing LEDs thanks to the blinking LEDs board validation test!

One of the MCU pads got bent underneath the chip while replacing the MCU, but still appears to make contact with the pin, and does not cause any shorts, so we should be good.

Controller Board 6

Updated May 4, 2020

Initial State

This board is labelled number 6, and is a REV 7 controller board.

The board will not program - the programmer does not detect the board when attempting to upload the blinking LEDs sketch.

Debugging

Starting Out:

  • The solder joints all look very good

  • The board looks very clean (no solder balls or extra flux anywhere)

  • There are no shorts anywhere on the board from what I can see

  • 3V3 output is great when connected to the programmer (measured across C23)

  • 3V3 output is good when connected to the Tutorial board (measured across C22)

  • All the capacitors appear to be the correct size for their values (I will not check them all individually

  • All diodes and LEDs are on the correct way (though this should not affect programming)

  • I don’t see any ripped or cut traces on the board

Testing

I’m at a bit of a loss for where to start on this one.

Tried reflowing again with the hot air gun and fixing a few of the worse solder joints, still no luck (I didn’t really expect this to be the problem given that the board looked really good.

The only things that will prevent programming are (assuming the MCU is good):

  1. Board not getting power

  2. MCU not getting a clock signal (bad crystal/capacitors)

  3. Programming pins not connected properly

All of these seem to be fine, so I’ll order some more MCUs and see what I find by replacing it.