How to Route Differential Pairs in KiCad

by | Jun 29, 2020 | 0 comments

In our previous tutorial, we demonstrated how to place components in KiCad. Now, we will show you how to route differential pairs. So we assume that you know how to import components from your netlist and place them.

What is routing?

Routing is simply the process of wiring between the components placed in the PCB design while following all the design rules. The design rules vary depending on the type of signals traversing in traces and sometimes rules vary layer to layer.

You can check 11 best high-speed PCB routing practices.

How to route differential pairs in KiCad

The most critical tracks in routing are the differential pair lines. Both wires in the differential pair should be identical in length and width. We need to make sure that they are routed properly and are separated by any other high-frequency signal. But if there are multiple differential pairs then there must be at least a 5W gap between them. 5W is five times the width of the differential pair.


Before routing, let’s take a look at these three circles. These are called fiducials.

How to route fiducials in Kicad

Fiducials are normally not connected in the circuit, but they are required as a reference during manufacturing to indicate the proper orientation of the board. It will also help you when you place components in KiCad. Click them and place them in three corners. 

Select each fiducial > drag and place them in three corners.

How to place fiducials in Kicad


Let’s start the routing process by planning the layers. In the PCB stack-up, we have used Layer 1 and Layer 4 as signal layers, which will be used for proper track routing. And Layer 2 and Layer 3 are power planes, so they won’t have any tracks. We will fill the complete area with copper. Layer 2 will be ground so we can route the differential pair on the first layer. And even then, after the first layer, the reference for the differential pair should be ground.

We need to make sure that the differential tracks are covered by the reference ground over their entire length. There shouldn’t be any cut in Layer 2. If there is a discontinuity, the overall impedance of this 90-ohm differential pair will mismatch and it might affect the signals.

Now, let’s place our plane layers. 

Stackup Planner by Sierra Circuits

How to pour ground in Kicad

There are two types of grounds here: there is GND for ground and there is GND PWR for ground power, which are connected to the shield of the USB connector.

How to pour layers in Kicad

So, we will require two types of planes, ground and ground power. But the ground power is not going anywhere in the circuit. In Layer 2, we will pour ground for only in the GND PWR portion and we will keep the remaining portion in the ground. For pouring ground, on the right-hand side, there is an option called Add filled zones.

Go to toolbar on the right-hand side > click on Add filled zones icon add_zone in Kicad > click on where you want to start > a window will pop up.

How to pour ground in Kicad

Click where you want to start. A window pops up with various nets. Select which net you want to pour. We will select the ground power and indicate on which layer we want to pour, which is Layer 2. You can see the clearance is 20 mils. So, when you pour, there will be a distance of 20 mils from any other component in the circuit.

For corner smoothing, select Chamfer and mention 5 mils so when you draw a square or a rectangle with 90-degree angles, it will automatically make them 45 degrees with a chamfer of 5 mils. Click Ok and draw your shape while making sure to do a complete loop.

How to route ground in Kicad

Now you can see the portion around GND PWR is connected over here but it is not completely connected. This is basically a thermal connection. To make it solid:

Go to Copper Zone Properties > Pad Connections > choose solid.

How to route solid ground in Kicad

Now it is completely connected and we have poured this ground. If you select on the right-hand side GND or Layer 2, you can see the poured layer.

The next step is to pour the remaining portion with your component ground. Repeat the same pr but this time choose the ground (GND) net instead of GND PWR.

Draw on the required portion for the GND section and click  save in Kicad icon to save the file. Now you have routed the ground layer. It looks like the one shown in the below picture.

How to route ground layer in Kicad

Like this, we have to pour the power layer. There are two types of power here one coming from the regulator and from the USB. In the USB portion, we have used the VCC connection, and we can use the remaining portion for the +5V. That will be in Layer 2. Now, we will route the differential pair first. 

Differential pair length tuning

Now, let us see the routing of the differential pair. Any net defined with ending as ‘+‘ and ‘‘ are considered as differential pairs. Here it is already defined in the schematic that this is D+ and D-.

How to route differential pair in Kicad

You need to set up certain rules. Here, we have set the differential tracks and spacing as 8 mils. Let’s start to route differential pairs in KiCad.

Go to Route option > choose Differential Pair > click on any of the differential tracks > drag to draw the track.

How to route differential pair in Kicad

Go to Route at the top and choose Differential Pair. As you can see, the line on the top layer is not above the ground plane, so we will have to adjust that later. You can see the tracks are above the ground on Layer 2. Draw the complete track, make sure the tracks are above the ground layer 2. If the track lines go out of the ground plane, you have to adjust it.

And one more thing you need to make sure is that all these tracks have an equal length. For that, 

Go to Route > click tune differential pair skew/phase > click on any of the track.

How to do differential pair length tuning in Kicad

When you click on the track, you can see the length of skew. Length of both tracks should be the same. If it is different, you need to increase the length of shorter track to match with the longer track. To change the length of the track,

Right-click on the track > select Length tunning setting > a window will pop up.

How to do differential skew tuning in Kicad

There will be a bump in the shorter track in order to increase its length, so we have to set the dimensions of skew in this pop-up.

How to do differential skew tuning in kicad

Window pop up for skew tuning

The spacing between the differential pair is set up to 8 mils. Set the minimum space to 8 mils as well. The spacing should be three times the width, hence, 24 mils. Once you’re done, drag your cursor over the differential pair and if the tuned skew is green, the tracks have an equal length. Repeat this action for all the pairs you have. 

Tuned differential pair line in Kicad

Tuned image of differential pair line

You can see over here, this differential pair we have already routed. When we click it, it says that it is tuned. The differential routing is done.

This is how the completed design looks like.

Complete routed circuit in kicad

This is how we route differential pairs in KiCad. You should do routing for one more layer if you are using a double-sided PCB. One thing we must tell you is to follow the schematic while you do the routing. It can help you to route differential pairs in KiCad.



DFM Handbook


Submit a Comment

Your email address will not be published.