PCB Tips and Advice

Hopefully these will make sure your board works first time! These tips will be continuously added to over time.

TIP #1: If you have any doubt about a signals expected state (e.g. a microcontroller pin is tristated on POR conditions), do not hesitate to add a pull-up and pull-down DNI resistor.

 

DNI stands for "Do Not Install" and tells the assembler (maybe you?) to not install the component associated with that reference designator unless debug scenarios arise. This will save you from going through hell, especially if a trace is on an inner layer! If you ever need to pull the signal to a defined state, simply solder on a resistor. This tip also applied for components other than resistors, and can even be used for ICs!

TIP #2: Always route interfaces in order from most important to least important from an EMI/SI perspective.

 

This rule can be partially ignored if you are routing an interface that is isolated from most of the board. This rules is especially useful for routing PCI-e differential pairs and DDR2/3/4 memory interfaces. The order may be given with the most critical components. For example, when I was designing a single board computer with a TI AM6548 SoC, Texas Instruments specified the first section of the order to be along the lines of PCI-e, DDR memory, Power Distribution Network, USB, eMMC/SD card.

TIP #3: Always consider trace impedance and signal integrity for medium to high speed/edge-rate traces or analog signals.

 

This can even apply to important signals like resets/POR if you want to be extra careful as well. Some example impedances are 50Zo for most RF, 100Zdiff for PCI-e gen3, 40-50Zo for DDR4, 90Zdiff for USB, 100Zdiff for Ethernet PHY, and 100Zdiff for LVDS type interfaces. Never cross a plane with these signals, as it will likely create a HUGE impedance discontinuity and will also severely reduce signal integrity. Zo denotes single-ended impedance while Zdiff denotes differential impedance.

TIP #4: Often, even cheap microcontrollers have plenty of good features. Therefore you should pick a microcontroller for exactly what you need rather than fiddle around trying to get something to work.

 

In other words, pick a microcontroller that has everything you need and don’t settle for less unless you are working under very specific constraints or absolutely have to. Modern microcontrollers have many advanced and different interfaces all in one, and there are thousands of different models from many different manufacturers. In fact, there are so many that you might even become overwhelmed and confused on their small but unique differences!

TIP #5: Don’t put a noisy components near sensitive PCB elements. It wont end well and may cost you some money!

 

This might seem obvious but I feel like it is important to enumerate some components that constitute noisy and sensitive ones. For example, switching inductors, transistors (especially power FETs/IGBTs), some input connectors, and almost every trace connected to them would be considered “noisy” elements, as they tend to give off EMI. Sensitive elements would include high speed/analog signals, SoC/microprocessors/microcontrollers, memory chips, reset/POR signals, and storage ICs like eMMC flash. Of course physical distance will truncate these effects but if space is low or you want to be a perfectionist, you can use ground barriers, filtering and (more?) decoupling capacitors, and even faraday cage shielding on your PCB if it is especially susceptible to noise.

TIP #6: Check for phase interleaving on DC-DC controllers.

 

If you are designing a high-power DC-DC switching converter and your requirements include high current, but you can't seem to find some components that support that current within other criteria (price, size, etc.), check if your DC-DC controller supports phase interleaving. This will be declared in a datasheet and will often be denoted by pins with the name SYNCIN and SYNCOUT. If it does not support interleaving, you can also design the converter with a lower current peak but use ORing controllers in order to effectively load balance each converter without any current back feeding or single-point overloads. This is especially useful in high power LLC resonant converters where the main inductor required does not exist physically with the given specification required.


 Also, here are some resources I use when making PCBs

TI WEBENCH Power Designer

 

This is very useful for quickly pulling pre-computed designs for power regulators without having to scrape data from several IC datasheets. It even generates a basic PCB template, though this may vary depending on design constraints. To use it you need to register for a Texas Instruments account, which is free. WEBENCH supports many different converter topologies, including but not limited to DC-DC buck/boost/buck-boost/SEPIC converters, AC-DC synchronous regulators, wide VIN DC-DC converters, LLC resonant converters, and phase-shifted full-bridge controller designs.

Saturn PCB Design Toolkit

 

This calculator is extremely helpful for many calculations across your PCB, from differential pair impedance to via properties like inductance or resonant frequency. To download, you must enter an email address.

PCB Software

 

In regards to PCB software, I personally use Altium, which costs around $330/month but is a great software. I highly recommend it.

If you want to go free there is KiCAD and some other alternatives, but I would go with KiCAD, as I have heard it recently has been getting some pretty significant improvements and updates.