Kicad – Interactive routing


This blog post is a small section of a new book I am writing.

I don’t have a book title yet (feel free to suggest one). The book will be a comprehensive guide to Kicad and will cover an extensive array of learning outcomes.

The book will cover contain multiple projects to help explain Kicad and PCB design issues, including design principles.

I will post a sample TOC soon. Today, I’d like to show you a draft of one of the sections I have written, with minimal editing. Please feel free to comment (comments open below this article).

While I’m writing this book, you can always have a look at Kicad Like a Pro!


Interactive routing is one of the most important features of Pcbnew. It makes drawing tracks quick and efficient.

Interactive routing works with the OpenGL and Cairo renderers. It helps you create tracks while avoiding items in the layout that can’t be moved, or moving them (the term is “shove”) if they are movable.

Let’s do an experiment with Interactive routing. Open the simple LED and resistor layout, and delete the track that connects pad 2 of the LED and pad 1 of the resistor. In Figure 182, I have deleted the track. To make the layout easier to read, I have disabled the front and back silkscreen layers by unchecking F.SilkS and B.SilkS in the Layer Manager.

Figure 182: The resistor and LED are not connected

The ratsnest line between the LED and resistor is telling us that this track must be implemented. Please make sure that you are using the OpenGL or Cairo renderer (in this example I am using OpenGL).

Type the “X” hotkey to enter the track drawing mode. Place your mouse cursor in the middle of pad 2 of the LED. Because you are in OpenGL or Cairo mode, the Interactive Router is automatically selected. Move your mouse towards the screw terminal footprint, and notice how the track that the router leaves behind does not intersect any other tracks and goes around pads. Try to finish the drawing by double-clicking on pad 1 of the resistor. You can see my, admittedly terrible, design in Figure 183.

Figure 183: A new route using the Interactive Router, avoiding other tracks and pads

In Figure 183, I have highlighted the new net using the “Highlight Net” button in the right toolbar. Of course, this new net is a very poor design since it is much longer than necessary, with a lot of corners. In PCB design, we aim to create tracks that are as short as possible, with as few corners as possible. More about PCB design principles later.

The point of this example is that as I was moving my mouse pointer through a particular path, the Interactive Router was able to find a way to place the track without violating any of the design rules.

You have fine control over the designer through the context menu Figure 184.

Figure 184: The Interactive Router Settings

You can change these setting at any time, even during the drawing of a track. I usually set the Mode to “Walk around,“ which produces a result similar to the one you see in Figure 183. As long as you choose a sensible path with your mouse, the interactive router will produce a sensible track. You can also try out the Shove mode. With Shove mode on, the interactive router will push over any items that are not explicitly fixed on the layout. You can have footprints on a fixed position by locking them through their properties and then allow for existing tracks and vias to be moved by the router as needed for laying new tracks. It is worth spending some time to get used to this feature, as it is powerful and it will make your work with Kicad much more efficient in comparison to drawing in Default mode without Interactive Routing.

In Figure 184 I have selected the option “interactive drag” for the mouse drag behavior; this allows me to use the “G” hotkey to drag a track to a new position without breaking it (which is the “move” operation). This way I can re-arrange a track that the Interactive Router or I created, without having to repair broken connections. When using the “Move” method, the typical result is that a single segment of a track is moved, and its connection to the rest of the net is broken, which needs to be repaired.

Another powerful feature of the Interactive Router is the ability to redefine one a segment of the track or the full track without having to delete the original manually. You simply type “X” to start the track drawing process, and you draw the start and end of the new track or track segment. When you double-click to finish the drawing process, the Interactive Router will automatically remove the old track or track segment, as it is now redundant.

Let’s use this feature to repair my awful track from Figure 183. Type “X” and click on pad 2 of the LED to start a new track. You can also start the drawing at another position of the existing track is you want to redefine a segment of the track instead of the complete track (Figure 185).

Figure 185: Starting a new track to replace the old one

Then, move your mouse on pad 1 of the resistor and double-click to complete the drawing. The new track is created, and the old track is automatically deleted (Figure 186).

Figure 186: The newly created track replaces the original

It is worth spending some time here to get used to these capabilities of the Interactive Router. We will be using it extensively in the projects that will follow.

>

@

Not recently active