Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


NOTE: if you just want the latest version use

git clone --depth=1

You should be able to run it by going to deploy and use You can run the jar and it is not dependent on the java web start anymore

There is a single button that allows you to open a dsn, normally exported from Kicad Below the button there are message windows...

I am currently trying to reach the following goal

  • Broadly speking making Freerouting more predictable and resilient As far as I can tell and for the use I make this is now true, you are welcome to report issues If you do so, either provide a video of the issue or the DSN and a contact point Post a message on

  • Automatic fix of "unconnected" tracks when importing from Kicad (done) What you do is to use the autorouter and configure it not to do ripup or optimizations This is also done, it could get better once more quirks are understood and fixed

  • Automatic fix of clearance violations by push and shove tracks and vias (still looking)

  • Should be possible to autoroute the "short" connections and the one going to groundplane automatically It is kind of fanout, but I have still to get to it

There are videos at

I must tell you all that Alfons is great, we should all be grateful to him for FreeRouting



This is a new repo since for some misterious reason Github did not show the previous one up

Please excuse me if I am simplifying the code by "extracting" quite a few of the static inner classes and assign unique name to them, I find the code much simpler to read if I do not have to follow the prefix Yes, I understand the reasoning and it is formally correct, it is just me that prefers to have a uniquely clear classname

How to run the Freerouting project in the Eclipse IDE

  1. Have a Java to run Eclipse Java (I use Luna), download Eclipse Java from

  2. install git and do git clone

  3. you should be able to run Freerouting by going to deploy and use

  4. Create a new Java project and tell Eclipse to use the given directory and ant buildfile

  5. Tell to eclipse to add the java help jar to the jarfiles

If you just want to make it

It should be possible to just "ant" in the FreeRoutingNew directory to build a running version, even without Eclipse

Original from Alfons

Java Based Printed Circuit Board Routing Software from written by Alfons Wirtz.

by alfons » Sat Mar 08, 2014 12:07 pm

Because I am no more maintaining the Freerouting project since 4 years and future Java versions may block my Freerouting Java Web Start application completely, I finally decided to open the source of the Freerouting project under the GNU public license version 3.

I have attached the complete source code of the Freerouting project. Please feel free downloading and using the sources according to the GPLv3 license.


This software can be used together with all host PCB design software systems containing a standard Specctra or Electra DSN interface. It imports .dsn-files generated by the Specctra interface of the host system and exports Specctra session files.(There exists also an interface to Cadsoft-Eagle.)

There are three modes for routing traces: 90 degree, 45 degree and free angle. The interactive router is production stable and unsurpassed in its free angle capabilities. An autorouter is currently under development and already stable in the conventional 45 degree mode.

After launching the router a window appears with buttons to display some router demonstrations, to open a sample design, or to open a design of your own.

After opening a design you can start the autorouter with the button in the toolbar on top of the board window.

The board editor has three different interactive states. You can switch between this states with the buttons Select, Route and Drag on the left of the toolbar.

In the beginning the board editor is in the select state. In this state you can select single board items by picking them with the left mouse button or select items in a rectangle by dragging the left mouse button. Only item types switched on in the select parameter sheet will be selected. After selecting some items the toolbar displays options for showing and manipulating these items. If you push the info button for example a window with text information about the selected items is displayed. After clicking a blue word in this text a new window with further information pops up. To return to the select state push the cancel button or click somewhere in the empty space of the board window.

By pushing the Route button you get into the state for interactive routing. In this state you can start a new trace by picking an item belonging to a net, for example a pin. Then you can follow the displayed airline with the mouse until you have reached the target item at the other end of the airline. The trace will be connected automatically to the target, if it is on the same layer. If you want to change to a different layer during interactive routing, select "change layer" and then the name of the new layer in the popup menu under the right mouse button. Then a via will be inserted, if that is possible, and a new trace starts on the new layer. You can also change the layer by pressing a number key.

After pushing the Drag button you get into the state for changing the location of vias, components or traces. In this state you can select vias or components and drag them with the left mouse button to a different location. The connected route is updated automatically. You can also move traces by pushing them from behind out of the empty space with the left mouse button pressed. That works on the current layer, which can be changed in the select parameter sheet. In this way you can make space for example to insert a new component.

For more information please use the online help in the board editor. From here you can download also a printable version of the online help.

If you have further questions or want some feedback, please sent an Email to support@ or visit our forum.

Additional steps for users of CadSoft-Eagle

  1. Download the latest Eagle2freerouter ulp file

  2. Start Eagle and open in the control panel of Eagle for example the design my_design.brd.

  3. Choose in the Files pulldown-menu of Eagle the item "execute ULP" and select the Eagle2freerouter ulp file. A file with name my_design.dsn is generated.

  4. Start the router, push the "Open Your Own Design" button and select my_design.dsn in the file chooser.

  5. After making some changes to the design with the router select "export Eagle session script" in the Files pulldown-menu. A file with name my_design.scr is generated.

  6. Choose in the Files pulldown-menu of Eagle the item "execute Script" and select my_design.scr.


FreeRouting stronger and better



No releases published


No packages published


You can’t perform that action at this time.