PCB Design Best Practices - turnracing/turnracing-diy GitHub Wiki

Here are some best practices when it comes to designing your PCB!

Terminology

  • Trace = Copper lines on the PCB that are the equivalent of wires.
  • Pad = Exposed copper, often rectangles, that the component is soldered onto.
  • Via = A connection point between two or more layers
  • Net = Collection of the traces or pads that are linked together, ie. a GND net would define a trace or pad that is connected to ground.
  • Plane = A copper pour that can be connected to a Net.
  • Design Rule = A list of minimum values that your PCB must adhere to in order to pass a check and be successfully manufactured.

Recommended Trace Widths

  • Voltage 0.508mm/20 mil (for 5V / 500mA or less - calculate for anything higher)
  • Signal 0.254mm/8 mil
  • Ground 0.254mm/8 mil or 0.508mm/20 mil (for 5V / 500mA or less - calculate for anything higher)

Basic PCB Design

  • Set your design rule as per your PCB manufacturers capabilities (JLCPCB = https://jlcpcb.com/capabilities/Capabilities, EasyEDA should be set to match this by default)
  • Check the datasheet of the part you're using to see if there is any recommended circuits
  • Avoid 90 degree angles on your traces
  • Cross over traces of other nets at 90 degrees
  • Keep traces away from other traces or pads as per your design rule - check your PCB manufacturers capabilities
  • Make use of a Ground plane on your bottom layer, and place signal traces on the top layer

Advanced PCB Design

  • Use Net ports, NetFlag VCC and NetFlag GND in your schematics
  • Use differential pair routing for USB data traces as per the spec of USB and your PCB
  • Make use of a Ground plane on your top and bottom layer and automatically via stitch them together, manually place via's close to signal traces and anywhere the plane comes to a point/end (if the automatic placement has not covered the board well enough).
  • Keep signal traces on the top layer where possible, use short via traces on the bottom layer.

Via stitch example