Hardware Academy
PCB Design

Board bring-up and debugging

A bring-up plan, the right instruments, and a systematic way to find faults.

Day 6 · 45 min

After this lesson

  • You can write a bring-up checklist for a new board.
  • You can use a multimeter, oscilloscope, logic analyzer and thermal camera appropriately.
  • You can debug systematically: observe, hypothesize, test one thing.

Bring the board up in the order that protects it

A board that powers on has not passed anything. Bring-up is a staged plan in which each stage gives you evidence before the next one risks the hardware, and in which every surprise gets written down. The goal is to find faults while each is still a single fault.

The bring-up order

  1. Inspect. Under a loupe or microscope check polarity, pin 1, bridges and missing parts. The stripe on a moulded tantalum marks the positive end, the opposite of an aluminium electrolytic, and on a diode it marks the cathode.
  2. Power off, measure. Resistance from every rail to ground (hundreds of ohms to kilohms is normal, near zero is a short), rail to rail, and continuity of ground.
  3. Current-limited power-up. Set the bench supply to the battery voltage with the limit just above the expected idle: 100 to 150 mA for the motor board, motors unplugged. Raise the voltage from zero and watch the current.
  4. Rails. Check each rail against its tolerance (3.3 V within 3 % is 3.20 to 3.40 V), then look at ripple on a scope.
  5. Clocks and reset. Crystal running, reset line high.
  6. Programming. Read the chip ID with esptool before writing anything.
  7. Peripheral by peripheral. LED, buttons, UART, then the motor driver with a motor off the ground at 20 % PWM, then encoders and sensors. Add one thing at a time.

What the supply tells you

A bench supply is the cheapest diagnostic you own. In constant-current mode with the voltage collapsed, the ratio of the two is the apparent load resistance: 1.9 V at 0.8 A is 2.4 Ω, which is no working board. A healthy idle shows the full voltage and a small, steady current that matches your estimate. If the current creeps up over several seconds, something is heating and its resistance is falling. Remember the power, too: a supply limited to 1 V and 0.5 A can put at most 0.5 W into a shorted rail, and a real short drags the voltage down (0.5 A through 0.45 Ω is only 0.2 V), so the failed part itself dissipates about 0.1 W. That is enough to warm it for a thermal camera but far too little to damage the board.

Instruments and what each is for

A multimeter (10 MΩ input) is for DC voltage, resistance with the power off, continuity and the diode test, where a good silicon junction reads 0.5 to 0.7 V forward and open in reverse. Its current ranges add burden voltage in series, so fuse them and use them sparingly.

An oscilloscope shows shape. Pick a bandwidth of at least five times the highest clock; its rise time is 0.35 divided by its bandwidth, so a 100 MHz scope cannot show an edge faster than 3.5 ns. A 10× passive probe is 10 MΩ with about 10 pF, and its ground lead is the part most people get wrong. Set the 20 MHz bandwidth limit when you want ripple rather than noise, AC-couple a 3.3 V rail to read millivolts, and trigger single-shot on a falling edge just below the rail to catch a dip.

A scope probe with a long ground clip lead compared with a short spring ground tip, and the ringing each producesBad: 15 cm clip leadsignalGNDloop about 30 cm²picks up motor noisescope view of the same pad150 nH with 10 pF rings near 130 MHzGood: spring ground tipsignalGNDloop under 1 cm²scope view of the same padabout 10 nH with 10 pF resonates above 500 MHz
The same step edge seen through a 15 cm clip lead (about 150 nH, ringing near 130 MHz) and through a 1.5 cm spring tip (about 10 nH). The long lead also encloses a large loop that picks up magnetic noise.

A logic analyzer records many digital channels at 24 to 500 MS/s and decodes I2C, SPI and UART. It tells you what bits were sent, not whether the edges were clean, so sample at least four times the bus clock and set the threshold for your logic level. A thermal camera turns a short into a picture: power the board from a current-limited supply and look for the hot part, remembering that bare copper and shiny solder have low emissivity (about 0.1) and read cold, while mould compound and solder mask (about 0.9) read true. Without a camera, a drop of isopropyl alcohol evaporates first on the hottest part, and freeze spray on the culprit makes the supply current change. A clamp-style current probe, or a sense resistor that is already in the circuit, shows pulsed currents without breaking it; a new series shunt has to be put in the path.

The usual suspects

Most first-article faults are boring: solder bridges on fine-pitch pins, opens from cold joints or tombstoned parts, rotated or flipped parts (diodes, tantalums and ICs), wrong values or footprints, brown-outs when a motor or the radio starts, and ESD damage that shows up as a leaky pin days later. A brown-out is a rail that dips below the MCU's threshold for a few microseconds, and only a single-shot trigger will catch it. Handle boards on a grounded mat, because ESD damage often appears days later as a leaky pin or an input that sticks. Probing artefacts account for the rest, which is why the ground lead matters.

A systematic method

Observe, hypothesise, change one thing, record. Split the system in half and ask which half the fault lives in. Compare a bad board with a known-good one at the same node. Never change two variables at once. Keep a bring-up log with the board serial and revision, firmware hash, supply settings, every reading with its units, scope screenshots with the probe point marked, and what you changed. Next week's you will need it.

Rework basics

Use a temperature-controlled iron (about 350 °C for lead-free) with fresh flux, spend no more than three to four seconds on a pad so it does not lift, and let it cool. Bridges come off by drag soldering with flux or wick. Small SMD parts lift by heating both ends. QFNs and SOICs need hot air at 350 to 380 °C with the board preheated. Clean flux residue with isopropyl alcohol and inspect again.

Interactive: debug the board, then hunt a short

First walk the decision tree for a symptom and see which instrument each step uses. Then take the find-the-short bench: power the board from the battery input and from the 3V3 rail, and notice which method gives the culprit away.

Debug decision tree: from a symptom to a measurement to a cause

Pick what you see on the bench, then answer each measurement. The chart on the left records your path; the card on the right says what to measure next and, at the end, what it probably is.

What is the board doing?

Every branch ends in a likely cause and a fix to try, never in a guess: each step names the instrument, what to probe and what the readings mean. Change one thing at a time and write it down.

Find the short: a simulated thermal camera and a millivolt probe

The 3V3 rail is shorted to ground by one part. Power the board two ways, look at the heat, hover or select a part for its millivolt reading, then desolder your suspect.

Motor-driver board with a simulated thermal camera overlay and selectable partsJ2 Motor AJ3 Motor BU2TB6612FNGJ1 BatteryQ1U3AMS1117-3.3U1ESP32-WROOM-32SW1SW2J5 Line LJ7 UARTJ4 HC-SR04J6 Line R20 °C50 °C80 °C110 °CClick a part to select it
Where the supply connects

A new board is on the bench: the 3V3 rail reads well under 1 Ω to ground. Find the part causing the short and desolder it.

Supply
0.9 V, drawing 0.50 A (limit)
3V3 rail
0.23 V, pulled to ground
Regulator U3
46 °C

Hover over, tap or focus a part to read its temperature and its millivolt probe reading.

Click or tap a part on the board, or pick one from the list, then desolder it once you are sure.

Simulation: each failed part dissipates P = I² × R, so with a 0.45 Ω short at 0.5 A it is only about 0.1 W, while a dead short of 0.02 Ω shows almost no heat. The regulator can easily run hotter than the culprit.

In practice

Practice

Write the bring-up checklist for the motor-driver board

The board has a P-FET reverse-polarity input from a 7.4 V pack, an AMS1117-3.3, an ESP32-WROOM-32 and a TB6612FNG. Write a numbered checklist with, for every step, the instrument and its setting, the reading you expect and what you do if it is wrong. Expected idle current with Wi-Fi off is the AMS1117's 5 mA of quiescent current (11 mA maximum) plus the module's 40 to 60 mA plus the LED: call it 60 to 80 mA.

Worked answer
  1. Inspect with a loupe: pin 1 of U1, U2 and U3, the stripe of C5 (the 22 µF tantalum) on the 3V3 side, Q1 oriented as drawn, no bridges on the TB6612FNG's 0.65 mm pins. Compare with the assembler's placement preview. Fix before any power.
  2. Resistance, power off. 3V3 to GND should read hundreds of ohms and rise as the capacitors charge; VM to GND should read kilohms. Under 5 Ω is a short: stop and use the thermal and millivolt methods.
  3. Power up from the bench supply: 7.4 V, limit 150 mA, motors unplugged, raising from 0 V. Expect 60 to 80 mA. If the current pins at the limit, power off.
  4. Q1 drop. Measure across Q1 with the board running: a few millivolts (50 mΩ at 70 mA is 3.5 mV). Near 0.6 V means the FET is not turning on.
  5. 3V3. Meter: 3.20 to 3.40 V. Scope with 20 MHz bandwidth limit and spring ground: under 50 mV peak to peak.
  6. EN and IO0. Both near 3.3 V; pressing BOOT takes IO0 to 0 V, and pressing EN holds EN at 0 V until you release it, after which it climbs back with a time constant of about 10 ms (10 kΩ and 1 µF).
  7. Programming. Adapter TX to RXD0, RX to TXD0, common ground, hold BOOT, tap EN and read the chip ID with esptool. If it fails, check the strapping pins and the wiring.
  8. LED and buttons from a blink sketch, then motor driver logic: STBY high, 20 % PWM, motor lifted off the ground. Free-running current of a small gearmotor is 100 to 300 mA; VM should dip under 0.3 V at start and 3V3 should not move.
  9. Encoders and sensors. Turn each wheel by hand and watch ENC A and B with a logic analyzer; scan I2C; ping the HC-SR04 with ECHO checked at 3.3 V; read the line sensors on the ADC.
  10. Log every reading with the board serial and photographs, and raise the supply limit step by step only after each stage passes.

Real-world scenario

Real-world scenario

New board draws 800 mA at idle

The first assembled motor-driver board arrives. The expected idle current is 60 to 80 mA. The bench supply is set to 7.4 V with its limit left at 0.8 A from an earlier job; the display shows 0.80 A and the voltage has collapsed to about 1.9 V, constant-current mode. The 3V3 rail reads 0.6 V instead of 3.3 V, and there is a faint smell near the regulator.

Symptoms

  • The supply is pinned at its 0.8 A limit and the output voltage has collapsed to about 1.9 V
  • The 3V3 rail reads 0.6 V; with power off, 3V3 to GND measures about 0.5 Ω
  • The AMS1117 is warm but not hot, and a faint smell comes from beside it
  • Replacing the regulator with a known-good one changes nothing

Interview questions

screenA new board arrives from the assembler. What do you do before you apply power?
I inspect it under magnification for polarity, pin 1 orientation, solder bridges and missing parts, comparing every polarised part with the assembler's placement preview. Then, with power off, I measure the resistance from each supply rail to ground and from rail to rail; a reading near zero means a short and I stop there. Only after that do I connect a bench supply set to the right voltage with the current limit just above the expected idle current, with motors and loads unplugged. I raise the voltage from zero and watch the current as I go.
screenHow do you measure a fast edge accurately with an oscilloscope?
I need enough bandwidth, since a scope's rise time is about 0.35 divided by its bandwidth and it will round off any edge near that speed. I use a 10x probe with a short spring ground tip touching a ground pad beside the signal pad instead of the long clip lead. A 15 cm clip adds about 150 nH, which with the probe's 10 pF rings near 130 MHz and picks up magnetic noise through its large loop. I also check the probe's compensation first, and I never clip the ground to a node that is not at ground.
deepThe board draws far more current than expected at first power-up. How do you find the cause?
I stop at once, because the current limit has done its job. Power off, I check the resistance of each rail to ground to see which rail is shorted. Then I inject current straight into that rail, about 1 V at 0.5 A, so the regulator is out of the picture, and look with a thermal camera for the part that warms up. A reversed capacitor, a reversed IC or a damaged part will glow, but a dead short makes almost no heat, so for those I measure millivolts along the rail and follow the voltage down to the short. I confirm by removing the suspect and re-measuring.
screenWhen do you reach for a logic analyzer instead of a scope?
When the question is what bits were sent, not what the signal looked like. A logic analyzer captures eight or sixteen digital channels at once and decodes I2C, SPI and UART, so I can see an address byte, a missing acknowledge or a wrong clock polarity over thousands of transactions. It will not show ringing, slow edges or low levels, so when a bus misbehaves I use the analyzer to see the traffic and then the scope to check the electrical quality of one line. I sample at least four times faster than the bus clock and set the threshold for the logic level.
deepDescribe your systematic method for debugging an intermittent fault.
I make the fault repeatable first, for example by triggering a single-shot scope capture on the rail dip. Then I bisect: measure a node in the middle of the system, decide which half holds the fault, and repeat. I change one variable at a time and write down every reading, the board serial and the setup, because intermittent faults hide in what I forgot I changed. If I have a known-good board I compare the same node on both, and I only declare it fixed after the original condition fails to reproduce several times.
screenHow do you tell the polarity of a tantalum capacitor from an aluminium electrolytic?
On a moulded SMD tantalum the stripe or bevelled end marks the positive terminal. On an aluminium electrolytic can the stripe or dark band marks the negative terminal, which is the opposite convention. On a diode the band marks the cathode. I do not rely on memory for a new part: I check the datasheet marking drawing and the footprint's silkscreen, because a tantalum fitted backwards can fail short and burn.

Quiz

1. What is the first measurement to make on a freshly assembled board?
2. On a moulded SMD tantalum capacitor, the stripe marks
3. Which probe ground connection gives the least ringing on a 1 ns edge?
4. A scope has 100 MHz of bandwidth. The fastest edge it can show without major rounding is about
5. Which instrument would you use to see whether an I2C sensor is receiving the address byte?
6. A supply set to 7.4 V with a 150 mA limit shows 150 mA at 1.2 V on first power-up. The most likely explanation is
7. A thermal camera shows a shiny solder joint cooler than the plastic part beside it, though both are at the same temperature. Why?

References and further reading

Where the ideas in this lesson come from, and what to read next. Books are the standard texts; papers are the original sources; standards are what employers work to.

  1. Documentationfree online

    Espressif Systems (2025). ESP32 Hardware Design Guidelines: Schematic Checklist. docs.espressif.com.

    Read: The EN RC delay (10 kΩ, 1 µF) behind the 10 ms time constant in the checklist.

  2. Documentationfree online

    Advanced Monolithic Systems (2012). AMS1117: 1A Low Dropout Voltage Regulator (datasheet). advanced-monolithic.com (free PDF at advanced-monolithic.com/pdf/ds1117.pdf, http only).

    Read: Quiescent current and thermal resistance for the idle-current and heat estimates.

  3. Book

    Paul Horowitz and Winfield Hill (2015). The Art of Electronics. Cambridge University Press, 3rd edition.

    Read: The chapter on instruments and measurement, and the probing advice.

  4. Book

    Henry W. Ott (2009). Electromagnetic Compatibility Engineering. Wiley.

    Read: The chapter on measurement and troubleshooting of noise.