From Wikibooks, open books for an open world
Jump to navigation Jump to search

Using a autorouter[edit | edit source]

Kicad/FAQ#How do I manually route a PCB?[1][2][3]

(FIXME: mention pouring a solid GND plane on the top and bottom of the board post-route)

(FIXME: how to tell the autorouter to use 8 thou traces for signals, 12 thou traces for power)

(FIXME: how to "fix up" all the GND pins that the autorouter doesn't connect?)

(FIXME: say a few things about what sorts of circuits probably can't be successfully autorouted -- switch mode power converters, RF stuff, etc. -- vs. circuits that can easily be autorouted -- low-speed digital electronics, etc.)

(Is linking to other tutorials on using the KiCad autorouter[4] adequate, or would a brief tutorial here be useful?)

Installing an autorouter[edit | edit source]

As of KiCad Version 5 (2018), integration of FreeRouting with KiCad is described at the website. (FIXME: Unable to add ref to the right place due to wikibooks complaining about URLs, giving up, too much unhelpful policy here).

(FIXME: Procedural information below is outdated as of 2018, but it reflects the legacy of FreeRouting)

(FIXME: this seems to work installing the FreeRouting autorouter tool on a fresh Ubuntu 14 install inside VirtualBox/Setting up a Virtual Machine/Ubuntu; perhaps mention what needs to change to install it on other Linux distros)

(FIXME: mention other autorouters that use the Specctra interface)

Origins and History of FreeRouting[edit | edit source]

Alfons Wirtz wrote FreeRouting and maintained it for years.[5] We are all grateful that Alfons Wirtz released the FreeRouting software as open-source software.[6]

People have suggested integrating FreeRouting into KiCad.[7]

To install FreeRouting on Ubuntu 14, get the FreeRouting source code:[8]

   cd ~/Documents
   sudo apt-get install git
   git clone

That creates a new directory ~/Documents/FreeRouting/ . Then get the "jh.jar" and "netx.jar" files:

   sudo apt-get install javahelp2 icedtea-netx-common

Installing NetBeans with JDK 8[edit | edit source]

   sudo apt-get update
   sudo apt-get install netbeans
   sudo apt-get install default-jdk

If that doesn't work, open up your favorite web browser and download the installer:[9]

In your favorite web browser, open Click the "Download NetBeans with JDK 8" button. Then accept the license agreement and download the appropriate bundle for your computer. Make that installer executable with

   cd ~/Downloads
   chmod u+x jdk*.sh

then execute it


It pops up a window; hit "Next" a bunch of times.

That installer puts a "NetBeans" icon on the desktop.

Loading the FreeRouter Source into NetBeans[edit | edit source]

Use the "NetBeans" icon on the desktop to start the NetBeans IDE.

Inside that IDE, select File | New Project in the pull down menu.

In this sheet select Java Project with existing sources, then Next.

I told NetBeans the neame of the project is "FreeRouter". Then click the "Add Folder..." button, and in the browse window double-click on Documents, then single-click on FreeRouting, then hit OK. Then Next. Then Finish.

Then choose the "Run" tab and select "Build Project". That gives a bunch of errors; fix them by: In the Property sheet on the left, right-click on the "FreeRouter" project, choose "Properties" in the op-up menu, then in the Categories list on the left choose Libraries. On the right, hit the "Add JAR/Folder" button. In the browser window that pops up, choose


then hit OK. Then in the Categories list on the left choose Web Start and on the right enable [Y] Enable Web Start. OK.

Then choose the "Run" tab and select "Build Project". This time it should build with no errors.

Then choose the "Run" tab and select "Run Project".

A very small FreeRouter window will pop up. In that window, open the design file you exported from KiCad, and autoroute the PCB.

Save the autorouted board, and re-import those routes back into KiCad.

Further reading[edit | edit source]