Before it Hurts: Three Practical Lessons for PCB Development

Designing a PCB is rarely only about creating a correct schematic and routing all signals successfully. Many problems appear elsewhere: a component may no longer be available, a downloaded footprint may contain an error, or a circuit may only reveal its weaknesses after it has already been integrated into a large and expensive board.

During the development of the custom electronics for our robot Equilibrio, we encountered all three of these situations. The examples in this article come mainly from the development of our Power Distribution Board, but the lessons are relevant to many PCB projects, especially when working with power electronics, unfamiliar components, or tightly integrated systems.

For readers interested in Equilibrio itself and the development of its electronics architecture, we have described the robot and the evolution of our PCB stack in two previous articles:

Here, however, we want to focus on three practical lessons that can help avoid unnecessary redesigns:

  1. Check component availability before the layout depends on a part.
  2. Never trust a downloaded footprint without comparing it against the datasheet.
  3. Test unfamiliar or critical circuits on a smaller scale before integrating them into a complete board.

Check Component Availability Early

Although this may sound like a very obvious point, it is something we still struggled with several times during our PCB design process.

When working with an existing component library, for example in KiCad, it can easily happen that a component exists in the library and looks perfectly suitable in the schematic, but is not actually available from the preferred distributor. In some cases, the part may only be available with long lead times, in large minimum order quantities, or it may already be obsolete or approaching the end of its product lifetime.

This becomes particularly problematic once the component has already influenced the PCB layout. Common resistors and capacitors can often be replaced relatively easily if their package and ratings are standard. For more specialized components, such as connectors, MOSFETs, gate drivers, DC/DC converters, sensors, or microcontrollers, a substitution may require considerably more work.

Even when a functional alternative exists, it may use a different footprint, require different supporting components, or have slightly different electrical and thermal requirements. It may also affect routing, mechanical placement, connector positions, cooling, or even the overall board shape.

A replacement with the same footprint may exist, but this should never be assumed. Once a critical component has determined the mechanical and electrical structure of the PCB, the design is effectively locked around that part.

Because of this, component availability should be checked early and repeatedly throughout the design process. Critical components should ideally be selected from distributors where they are actually available. For parts that are particularly difficult to substitute, it may even be sensible to order them before the PCB design is finalized.

Otherwise, it is possible to receive a perfectly manufactured PCB while still being unable to assemble or validate it because one essential component is missing.

Never Trust a Footprint Blindly

Component availability is not the only thing that should be verified before ordering a PCB. The associated symbols and footprints must also be checked carefully.

This issue cost us one otherwise functional PCB revision.

The board in question was the Power Distribution Board for our robot Equilibrio. It controls the connection between the battery and several motor controllers. Because these motor controllers contain significant DC-link capacitance, simply connecting the battery could produce a large inrush current.

To reduce this current, the board included a precharge circuit. There are several ways to switch between the precharge path and the main current path, including relays, mechanical contactors, and semiconductor switches. In our case, we chose a MOSFET-based switching concept.

For this circuit, we selected the CSD19505KTT MOSFET from Texas Instruments. Since the part was not already included in our project library, we downloaded a footprint from the Mouser product page and added it to our KiCad library.

At first, the manufactured PCBs looked exactly as intended. However, after soldering and testing the board, the MOSFET stage did not behave correctly. Voltage and current appeared to pass through paths that should have been switched off, which led to a lengthy debugging process.

After checking the schematic, gate-driver signals, switching behaviour, and current paths, we eventually found the problem in the footprint.

The physical package dimensions were correct, but the pad-number assignment did not match the source and drain assignment expected by the schematic symbol. As a result, source and drain were reversed on the PCB.

A careful comparison with the manufacturer’s datasheet revealed the mismatch.

Because of the reversed connections, the MOSFETs did not operate in the intended direction. The internal body diode and the incorrect source reference created unexpected current paths and may also have overstressed some of the devices.

To correct the problem, we changed the pad mapping in our CAD library so that the footprint matched the pin assignment in the manufacturer’s datasheet.

This experience highlighted an important distinction: a footprint can look geometrically correct while still being electrically wrong. When reviewing a footprint, it is therefore not sufficient to check only the package outline.

At minimum, the following should be compared with the datasheet:

  • package dimensions;
  • pad geometry;
  • pin-one orientation;
  • pad numbering;
  • exposed or thermal pads;
  • courtyard and keepout layers;
  • symbol-to-footprint pin mapping.

The MOSFET was not the only component where this kind of review proved valuable. We also used a Zener-diode footprint whose electrical pad mapping was correct, but which contained an unnecessary keepout or no-placement area.

This area prevented our copper polygons from filling as expected and created a strange copper-free region around the component.

The lesson is not necessarily that every footprint must be designed from scratch. Services such as Component Search Engine, SnapMagic, Ultra Librarian, and distributor libraries can save a considerable amount of time and often provide useful results.

However, downloaded library files should be treated as a starting point rather than as an unquestionable source of truth. The manufacturer’s datasheet should remain the final reference.

The same principle also helps prevent simpler mistakes, such as selecting a QFP20 component in the schematic while assigning a QFP24 footprint to it.

Test Critical Circuits on a Small Scale

After fixing the footprint issue, we designed and ordered a second revision of the Power Distribution Board.

However, because the first board had failed in a critical section, we had not been able to validate many of the remaining circuits. The second revision therefore still contained several parts of the design that had never been tested properly on real hardware.

When testing this second board, additional issues appeared. We will not cover every one of them here, but the important point is that most of the debugging effort still focused on a relatively small and critical part of the overall PCB.

The highlighted area contained the main switching and gate-driver circuitry. Although it occupied only part of the full PCB, problems in this section prevented us from validating the Power Distribution Board as a complete system.

Some issues in the remaining sections could be worked around temporarily, but as long as the critical switching stage was unreliable, the complete board could not be considered functional.

After identifying the required schematic changes, we prepared another revision. This time, however, we did not simply order another complete full-size PCB.

Instead, we separated the critical subsystem and created a smaller board specifically for testing it.

The reduced board allowed us to test the power-switching section independently while continuing to use the functional counterpart of the previous design. The two systems could be connected temporarily using wires, which made it easier to verify their behaviour separately.

This approach reduced the number of unknowns during debugging. Instead of testing a large board containing several interacting subsystems, we could focus on one circuit and determine whether its schematic, layout, gate-drive behaviour, and protection mechanisms worked as expected.

The general lesson is not that every PCB should always be divided into many smaller boards. However, it is often worthwhile to isolate circuits that are:

  • unfamiliar to the designer;
  • safety-critical;
  • exposed to high currents or voltages;
  • difficult to simulate accurately;
  • sensitive to layout and parasitic effects;
  • expensive or time-consuming to redesign.

A small test board can be especially useful for new gate drivers, switching regulators, sensing circuits, communication transceivers, or components that have not previously been used by the development team.

Simulations, for example in LTspice, are also valuable before ordering a PCB. They can reveal incorrect component values, unsuitable operating points, unstable control loops, or excessive electrical stress.

However, simulations do not reproduce every real-world effect. PCB trace impedance, via placement, parasitic inductance, grounding, thermal behaviour, switching transients, and protection thresholds can all produce problems that are difficult to predict from the schematic alone.

We encountered such a problem while trying to switch our MOSFETs using a gate driver. The driver repeatedly entered fault mode even though the basic circuit appeared correct.

The fault was ultimately related to a small PCB connection routed through a narrow trace and two vias. This connection introduced enough impedance and transient voltage drop to disturb the gate driver and trigger its protection mechanism.

A small breakout board containing only one gate driver and one MOSFET would likely have exposed this issue much earlier.

Of course, a test board should still represent the intended final circuit closely enough to produce useful results. It should include realistic routing, grounding, supply decoupling, loads, and switching conditions. It should also provide enough test points to measure important signals without disturbing the circuit unnecessarily.

The purpose of the smaller board is not to create an artificially simplified circuit that behaves differently from the final design. Its purpose is to reduce the number of unverified elements being tested at the same time.

Conclusion

The lessons described here may appear straightforward, but they are easy to overlook when attention is focused on schematic design, routing, mechanical integration, and project deadlines.

Before finalizing a PCB, verify that critical components are actually available and realistically replaceable. Compare every important symbol and footprint with the manufacturer’s datasheet, even when the library file comes from a reputable source. Finally, identify unfamiliar, high-power, safety-critical, or layout-sensitive circuits and consider testing them independently before integrating them into a larger board.

Small test boards and additional review steps require some extra effort at the beginning. However, that effort is usually much smaller than the cost and time required to debug a complete assembled PCB on which one unverified circuit prevents everything else from being tested.

These practices helped us improve the development process for the Equilibrio electronics, but they are applicable far beyond this particular project.

A manufactured PCB should ideally confirm assumptions that have already been examined individually. It should not be the first moment at which every assumption in the design is tested at once.

1 Like