| KNOWLEDGE BASE

A rich source of expert knowledge

Learn from experts in the world of embedded systems

USE DISCOUNT CODE
LEARN30
TO SAVE $30 USD

3 STEPS How to determine / calculate number of PCB layers

PCB stackup screenshot

STEP 1: Choose initial number of layers

1 or 2 Layer PCBs – Home prototyping
Use 1 or 2 Layer PCB only for very simple boards, breakouts or for some circuits which you are making at home. Don’t use 1 or 2 layer PCBs for interfaces with controlled impedance (USB, Ethernet, LVDS, …). In this case, use at least 4 layer PCB.
4 Layer PCB – Simple or cheap boards & breakouts
If possible, always use at least 4 layer PCB. There is not much difference in cost between 2 and 4 layer PCBs, but 4 layer PCB is much better. Recommended for breakouts, small and simple boards. Don’t use for CPU boards with memory interface, but it’s fine for Base boards or some microcontroller boards.
6 Layer PCB – Cheap and large boards
Some PC motherboards are built on 6 Layer PCBs. Suitable for very high quantity and/or large boards.
8 Layer PCB – Cost effective
There is not big difference in price between 8 Layer or 10 layer PCB, but 10 Layer PCB is better.
10 Layer PCB – Suitable for SODIMM computer on module
This is normally maximum number of layers which fits into 1mm thick SODIMM socket. Comparing to 8 layer PCB, this 10 Layer PCB provides additional space for power planes in designs with many power domains.
12 Layers – Heavy industry boards or boards with may tracks
I use 12 layer stackup a lot – especially for industrial PC designs. Price is still reasonable and this PCB offers 4 solid ground planes or two additional signal layers.

STEP 2: Start layout

  1. Start with TOP & BOTTOM signal layers.
  2. If your design has too many connections or uses high speed signals, add 2 more inner signal layers. Start layout and try to fit everything into these 4 layers (top and bottom + 2 inner layers).
  3. If you see:
    • that you need a little bit more space, mix your power plane layer(s) with not important or slow signals,
    • that you need a lot of space, add two more signal layers.


I do not know any calculator to calculate number of PCB layers. Simply, use the steps I described and your own intuition. Hovewer, sometimes it may be hard to determine the smallest size of your PCB. Even this can not be calculated, as it depends on too many factors (PCB stackup, PCB technology – VIAs / uVIAs / Burried VIAs / minimum track width / clearance, number of components, placement, …..)

STEP 3: PCB Layer ordering

Of course, there are many options to order your PCB layers. I have used these in my designs.
Note: One of the main reasons why I prefer to use GND as the second layer is shielding. This layer creates solid GND shield from the high speed signals running inside PCB.

  • 12 layer stackup – 4 GNDs
    I use this stackup a lot, provides GND shielding of high speed signals and has tightly coupled Power-Ground planes:
    Signal / Solid GND plane / High speed signals and important buses / Solid GND plane / Power / Power or Mixed with signals / Power or Mixed with signals / Power / Solid GND plane / High speed signals and important buses / Solid GND plane / Signal
  • 12 layer stackup – two additional signal layers
    Signal / Solid GND plane / Signal / Signal / Solid Power Plane / Power or Mixed with signals / Power or Mixed with signals / Solid Power Plane / Signal / Signal / Solid GND plane / Signal
  • 10 layer stackup
    I sometimes use this:
    Signal / Solid GND / High speed signals and important buses / Solid Power or Solid GND / Power or Mixed with signals / Power or Mixed with signals / Solid Power or Solid GND / High speed signals and important buses / Solid GND / Signal
  • 8 layer stackup
    I dont use this very often. There are many options:
    Signal / GND / Signal / Power / Power / Signal / GND / Signal
  • 6 layer stackup
    I normally don’t use this. Here is an example of layer ordering:
    Signals / GND / Power or Mixed with signals / Power or Mixed with signals / GND / Signals
  • 4 layer stackup
    I use this quite often:
    Important Signals / GND / Power / Signals