# Kicad/Autorouter

Kicad Navigation
Introduction KiCad eeschema Introduction to eeschema eeschema commands eeschema hierarchical sheets File Formats FAQ Autorouter Installing on Mac OS
Edit this box

### Using a autorouter

Kicad/FAQ#How do I manually route a PCB?
(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:
That creates a new directory ~/Documents/FreeRouting/ . Then get the "jh.jar" and "netx.jar" files:

#### Installing NetBeans with JDK 8

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
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

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

* ↑ "Bald Engineer: Never Trust The Autorouter".
* ↑ "Can you route better than an autorouter".
* ↑ "Autorouting as a first-pass layout".
* ↑ "Kicad Tutorial: Using the autorouter".
* ↑ http://freerouting.net/
* ↑ "The Freerouting project is now open source"
* ↑ "Integrate freerouting into KiCad"
* ↑ Who is maintaining the latest version? http://github.com/nikropht/FreeRouting or http://github.com/freerouting/freerouting or https://github.com/32bitmicro/Freerouting or https://github.com/corecode/freerouting or https://github.com/faerietree/shell__freerouting_convenience_script or someone else?
* ↑ "How do I install Netbeans?".