Using a autorouter[edit | edit source]
(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[edit | edit source]
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 | edit source]
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[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:
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
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]
- "Bald Engineer: Never Trust The Autorouter".
- "Can you route better than an autorouter".
- "Autorouting as a first-pass layout".
- "Kicad Tutorial: Using the autorouter".
- "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?".