Using a autorouter

edit

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

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

edit

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 https://github.com/nikropht/FreeRouting

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

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

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.

Further reading

edit