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.
- 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.
| Measure | Good | Bad |
|---|---|---|
| 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 part | open 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:
| Load | Current |
|---|---|
| Microcontroller, running at 48 MHz | 18.0 mA |
| I2C sensor, active | 1.0 mA |
| Two LEDs at 5 mA | 10.0 mA |
| I2C pull-ups (4.7 kΩ, low) | 1.4 mA |
| Regulator quiescent | 1.0 mA |
| USB pull-up and misc. | 2.0 mA |
| Total, 3.3 V rail | 33.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
| Rail | Accept | Tolerance |
|---|---|---|
| 5 V (USB) | 4.75 to 5.25 V | ±5.0 % |
| 3.3 V | 3.20 to 3.40 V | ±3.0 % |
| 1.8 V core | 1.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
| Function | How to test | Typical fault |
|---|---|---|
| Digital outputs, LEDs | Blink; measure with a meter | Wrong polarity; pin not configured |
| Buttons and inputs | Read the pin in software; meter at the pin | No pull-up; floating input |
| UART / serial console | Send text to a terminal; scope the TX line | TX and RX swapped; wrong baud rate (check the clock) |
| I2C | Run a bus scan: it should list the sensor address (112 addresses are scanned); scope SDA and SCL | Missing pull-ups; wrong address; swapped lines |
| SPI | Loop back MOSI to MISO; scope SCK and CS | Wrong mode; chip select not asserted |
| ADC inputs | Apply a known voltage; compare the reading | Noise; wrong reference; high source impedance |
| PWM and drivers | Scope the output; load with a resistor first | Gate drive missing; shoot-through |
| USB | Plug in and see whether the host sees a device; use a USB analyzer | D+/D− swapped; wrong pull-up; 5.1 kΩ CC resistors missing (USB-C) |
| Wireless | Scan for the radio or an access point | Antenna not connected or keep-out violated |
| Power modes | Measure the sleep current | A 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
| Symptom | Likely cause | What to do |
|---|---|---|
| Current limit trips at once | Short on the rail; reversed capacitor or diode | Power off; resistance checks; thermal image; find the short |
| Rail is low | Overloaded regulator; feedback resistor wrong; short | Check the regulator’s input, enable and feedback |
| Chip does not respond to the programmer | No clock, wrong pins, reset held low, no power at the chip | Check the supply and reset at the pins; swap wires; check the boot pins |
| Works for a minute, then resets | Overheating or a marginal supply | Measure rails under load; thermal image; add capacitance |
| Random behavior | Floating input, missing decoupling, noise | Check the unconnected pins; add 100 nF at each chip |
| Serial output is garbled | Wrong baud rate (clock off), TX and RX swapped, ground missing | Check the clock frequency; swap; add a common ground |
| Board works on the bench but not in the case | Heat, ESD or a short to the case | Check clearances; test at temperature |
Related
- PCB Prototyping: the overview of this guide.
- Assembly: Stencils, Reflow and Assembly Services: how the board was made.
- Design, Testing and Troubleshooting: methods and flowcharts.
- Embedded Systems: programming and debugging.
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.
