Kicad/Autorouter

Using a autorouter
Kicad/FAQ

(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 adequate, or would a brief tutorial here be useful?)

Installing an autorouter
As of KiCad Version 5 (2018), integration of FreeRouting with KiCad is described at the FreeRouting.org 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
Alfons Wirtz wrote FreeRouting and maintained it for years. We are all grateful that Alfons Wirtz released the FreeRouting software as open-source software.

People have suggested integrating FreeRouting into KiCad.

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

cd ~/Documents sudo apt-get install git git clone https://github.com/nikropht/FreeRouting

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

sudo apt-get install javahelp2 icedtea-netx-common

Installing NetBeans with JDK 8
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:

In your favorite web browser, open http://www.oracle.com/technetwork/java/javase/downloads/index.html 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

./jdk-

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
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 /usr/share/java/jh.jar 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.