First Power-Up, Bring-up and Testing

Inspecting, checking for shorts, powering with a limit, bringing each part up and finding faults.

Before power: inspect and measure

A new board has a good chance of containing at least one fault: a bridge, a reversed part, a missed joint or a design error (see Assembly for the odds). The way to find it without smoke is to bring the board up in small steps, checking each before the next.

Bring-up: slowly, one step at a time1. Inspectlens: bridges, polarity2. Rails with no powerohms: no short3. Limited supply50 to 100 mA limit4. Rail voltageseach rail correct5. Clock + resetscope: running6. Program itflash and run7. Test functionsone at a timeIf any step fails: stop, find the cause (see below), fix it, and repeat that step. Never power a board you have not checked.
The bring-up procedure in order.
  • Inspect under magnification (see Joint Quality, Inspection and Failure): bridges on fine pitch, tombstones, missing parts, polarity of diodes, LEDs and electrolytics, pin 1 of every IC, and flux residue.
  • Compare with the assembly drawing and the BOM: every part where it should be and the right value (read the marking).
  • Check the connectors and the programming header for orientation.
  • Measure with the power off: resistance across each supply rail.
MeasureGoodBad
VBUS to ground> 1 kΩ (a few kΩ to hundreds of kΩ, rising as the capacitors charge)< 10 Ω: a short
3.3 V to ground> 500 Ω< 10 Ω: a short
Each signal to ground> 10 kΩ (pull-ups or diodes may read less)< 100 Ω: a bridge
Neighboring pins on a fine-pitch partopen circuit (or a defined resistance)< 100 Ω: a bridge

A meter reading across a rail rises slowly as the capacitors charge: that is normal. A value that stays near zero is a short; find it before applying power.

Worked example: finding a short by voltage drop

  • If a rail is shorted and you cannot see where, drive a known current into it from a bench supply (limited to 1 A at a few hundred millivolts) and measure the voltage along the copper with a milli-volt range.
  • 1 oz copper has 0.49 mΩ per square; a 0.5 mm trace is 2.0 squares per mm, so about 0.98 mΩ per millimeter. At 1 A the drop is 1.0 mV per millimeter: the voltage falls towards the short. Probe along the trace and follow the lowest reading to the faulty part.
  • A thermal camera, or freeze spray, also shows a shorted capacitor heating up under a current-limited supply.

First power-up: the current limit

Use a bench power supply with an adjustable current limit, set to the voltage the board needs and a limit just above the current you expect. A fault then draws a small current and cannot burn the board. If you have no bench supply, use a USB port or a battery through a resistor or a fuse, and a meter in series.

Worked example: setting the limit

The sensor board’s expected current on the 3.3 V rail:

LoadCurrent
Microcontroller, running at 48 MHz18.0 mA
I2C sensor, active1.0 mA
Two LEDs at 5 mA10.0 mA
I2C pull-ups (4.7 kΩ, low)1.4 mA
Regulator quiescent1.0 mA
USB pull-up and misc.2.0 mA
Total, 3.3 V rail33.4 mA
  • The regulator passes the same current from VBUS, so VBUS draws about 33 mA: 0.17 W at 5 V.
  • Set the limit to about three times the expected current, rounded: 110 mA. A real short then dissipates at most 5 V × 0.11 A = 0.55 W, which is safe; the same short on a USB port (0.50 A or more) would deliver 2.5 W and can lift pads and burn parts.
  • The input capacitors (30 µF in all) charge at the limit in t = C V ÷ I = 30 µF × 5 V ÷ 0.11 A = 1.4 ms. If the supply instead had no limit and a 100 µs rise, the inrush would be 1.5 A.
  • Raise the limit in steps only as the board shows normal current, up to the full load.
  • Turn on and watch the current: it should rise to the expected value and settle; if it hits the limit and the voltage collapses, switch off at once.
  • Touch test: after a few seconds, feel (carefully) or image the parts for any that are hot; a hot part is a fault.
  • Note the current in the log (idle, running): it is the board’s signature.
  • Never connect a battery or a USB port to an unchecked board.

Rails, clocks and reset

RailAcceptTolerance
5 V (USB)4.75 to 5.25 V±5.0 %
3.3 V3.20 to 3.40 V±3.0 %
1.8 V core1.75 to 1.85 V±2.8 %
  • Measure every rail at a test point and at the chip pin, with a meter and an oscilloscope (look for ripple and noise: AC coupled, 20 MHz bandwidth, ground spring on the probe).
  • Check the reset line goes high after power-up and stays there; a reset that chatters points to a supply dip or a missing capacitor.
  • Check the clock: the crystal should oscillate at its frequency within about 50 ppm (400 Hz at 8 MHz) and start in a few milliseconds. Use a small probe on the crystal pin: a standard probe adds 10 pF and may stop it; measure the buffered output pin if there is one.
  • Check the load capacitors: for a 12 pF crystal with 3 pF stray capacitance, 18 pF each (see Component Placement and Floorplanning).

Programming and the first sign of life

With the rails and the clock good, connect the programmer (SWD, JTAG, UART bootloader or USB bootloader), and read the chip’s identification: if you can read the ID, the chip is alive and the programming pins are wired right. Then load the simplest possible program that blinks an LED.

Worked example: the blink test and an LED check

  • The LED’s current is (3.3 − 2.0) ÷ 270 Ω = 4.8 mA. If an LED is dark when it should be on, check its polarity and measure the voltage across the resistor: 1.3 V means the current is flowing; 0 V means the pin is not driving it.
  • Logic levels for 3.3 V CMOS: high input above about 0.7 × 3.3 = 2.31 V; low below 0.3 × 3.3 = 0.99 V. A pin that sits at 1.6 V is floating or fighting another driver.
  • If the blink works, the clock, reset, power and the program path are all good: the rest is adding functions.

The software side is in Embedded Systems; the hardware side of the microcontroller in Electronics Fundamentals.

Function by function

FunctionHow to testTypical fault
Digital outputs, LEDsBlink; measure with a meterWrong polarity; pin not configured
Buttons and inputsRead the pin in software; meter at the pinNo pull-up; floating input
UART / serial consoleSend text to a terminal; scope the TX lineTX and RX swapped; wrong baud rate (check the clock)
I2CRun a bus scan: it should list the sensor address (112 addresses are scanned); scope SDA and SCLMissing pull-ups; wrong address; swapped lines
SPILoop back MOSI to MISO; scope SCK and CSWrong mode; chip select not asserted
ADC inputsApply a known voltage; compare the readingNoise; wrong reference; high source impedance
PWM and driversScope the output; load with a resistor firstGate drive missing; shoot-through
USBPlug in and see whether the host sees a device; use a USB analyzerD+/D− swapped; wrong pull-up; 5.1 kΩ CC resistors missing (USB-C)
WirelessScan for the radio or an access pointAntenna not connected or keep-out violated
Power modesMeasure the sleep currentA pin driven against a pull-up wastes microamps

Test one function at a time and keep a known-good version of the software.

Finding faults

  • Divide the problem: power, clock, program, peripherals: find which stage fails.
  • Compare with a good board or with the schematic: measure the same node on both.
  • Use the scope, not guesses: look at the signal where it should be and where it should not.
  • Look for the unexpected heat: a part that is hot is wrong, or the wrong way round.
  • Measure the current of each section (cut a track, or use a header and a jumper) to see which part draws too much or too little.
  • Reflow suspect joints with flux before replacing parts (see Rework, Desoldering and Repair).
  • Swap parts only when you suspect them: every desoldering risks the pads.
  • More methods are in Design, Testing and Troubleshooting.

Worked example: a hot part

  • A part dissipates 0.5 W when it should be at 0.05 W. With a thermal resistance of 60 K/W it is 30 K above ambient: about 55 °C in a 25 °C room: warm enough to notice by touch, and a clear sign of a fault because the part should be barely warm.
  • Under a 100 mA limit the same fault could dissipate at most 0.33 W: a gentle 20 K rise, easy to find with a finger or a camera before any damage.

Keep a log; change one thing at a time

Worked example: the time to bring up a board

  • Visual inspection 10 min, Resistance checks 5 min, First power-up, rails 10 min, Clock and reset 10 min, Program and blink 20 min, Peripherals, each 15 min.
  • Allowing for three peripherals it adds to 100 minutes if nothing goes wrong. Plan for an afternoon for a first board, and a day or more when something does.
  • Record the date, board revision and serial number, the current at each step, the voltages and what you changed.
  • Change one thing at a time and re-test: two changes hide which one fixed it.
  • Photograph the board before and after a modification.
  • Write down the bugs for the next revision (see Choosing a Route: Breadboard to Production).

Modifying a board

  • Cut a track with a sharp knife (a scratch down to the board, 0.5 mm wide) and check with a meter.
  • Add a wire: 30 AWG wire-wrap wire soldered between pads, glued down with a dab of epoxy or UV glue to avoid tearing.
  • Change a value by stacking a resistor on the old one or lifting a pin.
  • Dead-bug a part (glue it upside down and wire it) when a footprint is wrong.
  • Draw every fix on the schematic so that the next revision includes it.

Troubleshooting

SymptomLikely causeWhat to do
Current limit trips at onceShort on the rail; reversed capacitor or diodePower off; resistance checks; thermal image; find the short
Rail is lowOverloaded regulator; feedback resistor wrong; shortCheck the regulator’s input, enable and feedback
Chip does not respond to the programmerNo clock, wrong pins, reset held low, no power at the chipCheck the supply and reset at the pins; swap wires; check the boot pins
Works for a minute, then resetsOverheating or a marginal supplyMeasure rails under load; thermal image; add capacitance
Random behaviorFloating input, missing decoupling, noiseCheck the unconnected pins; add 100 nF at each chip
Serial output is garbledWrong baud rate (clock off), TX and RX swapped, ground missingCheck the clock frequency; swap; add a common ground
Board works on the bench but not in the caseHeat, ESD or a short to the caseCheck clearances; test at temperature

Related

FAQ

What should I do before powering a new board?

Inspect it under magnification, check the BOM and orientation of every polarized part, and measure the resistance across each supply rail to rule out shorts.

What current limit should I set?

About three times the expected current, for example 100 mA for a small microcontroller board. Raise it as the board proves itself.

Why is my microcontroller not responding to the programmer?

Check the supply and reset at the chip pins, the clock, the programming pin connections and the boot pins. A missing crystal capacitor can stop the clock.

How do I find a short circuit?

Measure the resistance of each rail with the power off, inject a limited current and follow the voltage drop with a milli-volt meter, or look for the hot part with a thermal camera.

Should I power the board from USB first?

Not until it has passed the resistance checks and a current-limited first power-up: a short on a USB port can deliver 500 mA or more, enough to damage the board.

References

  • Horowitz, P. and Hill, W., The Art of Electronics, Cambridge University Press; Pease, R. A., Troubleshooting Analog Circuits, Newnes.
  • Microcontroller reference manuals and hardware design guides (boot modes, crystals, reset).
  • IPC-A-610 (acceptability of assemblies); instrument manuals (oscilloscope and current-limited supplies).

Last reviewed: October 2026. Expected currents and limits are examples: use your own parts’ data sheets.