Can you route better than an autorouter? - Page 1
Forum section: electronics / projects

author: cyberfish
author_rank: Regular Contributor
timestamp: November 29, 2010, 08:53:35 pm
content: I kept hearing about FreeRouting.net (a free online autorouter) so I decided to give it a try with a current design I have already manually routed, just to compare.It was very easy. Learned to use the system in about 10 minutes.Took about 1 minute to route (brushless DC driver, pretty simple 2 layer design - 32-pin microcontroller, a few MOSFETs, MOSFET driver chips, and passive filters).Then I came to the shocking realization that I think it did a better job than me.Routes were a lot cleaner, only 11 vias vs 18 vias, and very few tracks on bottom layer (good ground plane). If I haven't sent my board to fab already, I would probably use this over my manual routing.I wouldn't say I'm very experienced, but I have manually routed about 5 moderately complex 2-layer boards (a few high pin count chips).I didn't look into autorouters much because I wanted to learn manual routing (which is a VERY good idea, like Dave said), and also because the only autorouter I tried (Kicad's builtin) was quite bad (put simply). FreeRouting.net router is very good, though.I think from now on I will just route the high current/frequency traces manually, and let autorouter do the rest.So, can you route better than an autorouter?

author: TopherTheME
author_rank: Regular Contributor
timestamp: November 29, 2010, 09:01:02 pm
content: Yes, I like to think so. Can you post pics of PCB you traced and the one the autorouter did?

author: Simon
author_rank: Unknown
timestamp: November 29, 2010, 09:06:14 pm
content: what sort of service is this ? I must admit I hate "online" stuff, I have a laptop now for a reason so don't tell me about portability and having access where ever I am bla bla

author: cyberfish
author_rank: Regular Contributor
timestamp: November 29, 2010, 09:15:17 pm
content: Here's a comparison. For the autorouted board, I had to route ground net manually for some reason (probably because I put in a ground polygon before feeding it to the autorouter), but that's mostly just via to ground plane. Otherwise, the router routed the whole board.

author: cyberfish
author_rank: Regular Contributor
timestamp: November 29, 2010, 09:18:41 pm
content: Quote from: Simon on November 29, 2010, 09:06:14 pmBasically export your board from your pcb program into something called DSN format, then import it into the autorouter. It's kind of not really online service. It's just a webstart java program. I think you can download it to run on your own computer, too. Either way the routing is done on your CPU. Then export from autorouter, and import into your program.

author: Simon
author_rank: Unknown
timestamp: November 29, 2010, 09:23:39 pm
content: hm so you need a program that outputs DSN formats, not something the simpler pcb programs like expresspcb that I use probably do (I seriously tried to do a schematic with kicad yesterday and got so fed up of it's un-obvious and unnecessary complexities that I gave up, really was it designed by apes ?)

author: cyberfish
author_rank: Regular Contributor
timestamp: November 29, 2010, 09:58:24 pm
content: I believe Kicad, PCB (from gEDA), and Eagle all can export to DSN. Sounds like a pretty standard format to me.I thought Kicad is pretty straight forward. At least quite a bit easier than gEDA (though I prefer gEDA's layout program).

author: GeoffS
author_rank: Unknown
timestamp: November 29, 2010, 11:25:21 pm
content: Quote from: cyberfish on November 29, 2010, 09:18:41 pmThere doesn't seem to be any provision to download the program, just to run it under Java on your PC.They mention that the web based version is free - if there's a version for sale, they don't mention it.

author: slburris
author_rank: Frequent Contributor
timestamp: November 30, 2010, 03:16:46 am
content: I've used freerouting.net for a few designs and it's way better than the Eagleautorouter.My understanding is that it's a gridless push and shove autorouter. Eagleroutes on a grid, and if you have chips in both metric and imperial units,Eagle struggles unless you set a really fine routing grid. Gridless autoroutersdon't have any problems with that.Oddly, their website seems to be broken now. I'd be very sad if they went down.I should have saved a copy of their Java app.Scott

author: cyberfish
author_rank: Regular Contributor
timestamp: November 30, 2010, 04:12:50 am
content: Site is back up.I downloaded the jnlp file just in case, but I think the real file is still downloaded from their server. The jnlp file is just a link.But if you open it up in a text editor, you can figure out a link to the real file -http://www.freerouting.net/java/router.jarAnd from the command line -java -jar -Xmx1024m router.jar -webstartruns the program.Works for me.The jnlp file is not needed. Just router.jar and a shell script or batch file that runs the command above.

author: djsb
author_rank: Super Contributor
timestamp: November 30, 2010, 10:16:29 pm
content: Quote from: Simon on November 29, 2010, 09:23:39 pmWhat in particular where are having problems with? I've used Kicad quite a bit and I can help you if you want me to. If you feel anything can be improved please let them know (I think they have a wish list on launchpad).David.

author: tyblu
author_rank: Frequent Contributor
timestamp: December 01, 2010, 02:17:51 am
content: The day I trust an autorouter to do anything but single layer, side-by-side signal lines... well, let's just say it's not going to happen. I love the algorithms, though, and imagine them being used for traffic control when we're all driving (non-polluting) flying vehicles.

author: cyberfish
author_rank: Regular Contributor
timestamp: December 01, 2010, 04:08:07 am
content: You don't have to trust it. You can and should inspect manually after autorouting.It's not like autorouting result goes directly to fab house.

author: Simon
author_rank: Unknown
timestamp: December 01, 2010, 07:59:58 am
content: Quote from: djsb on November 30, 2010, 10:16:29 pmwell trying to make my own part and then save it, I mean I made the part but was never able to load it into a library for use, the whole thing is just so unintuitive. ok I should read the manual but flipping hell it just a schematic layout program and not my first, so if I need to read a 100 page manual just to lay out a diagram something is not rightWhen I get time I'll start translating it to italian, maybe that will help spur development.

author: cyberfish
author_rank: Regular Contributor
timestamp: December 01, 2010, 09:33:38 pm
content: Quote"Select working library" (button with 3 amplifiers icon), "save current library to disk" (button with a floppy icon). Exactly how difficult and unintuitive is that?Are you sure the problem is Kicad and not between desk and the chair?

author: timofonic
author_rank: Frequent Contributor
timestamp: February 28, 2016, 01:56:04 pm
content: Necroposting. Sorry...Is this still valid? What about TopoR?

author: sleemanj
author_rank: Super Contributor
timestamp: February 28, 2016, 08:22:14 pm
content: Quote from: timofonic on February 28, 2016, 01:56:04 pmYou can download the last freerouting version before it's development was stopped here...https://s3.amazonaws.com/miscjunkandstuff/FreeRouting/ABOUT-2014-05-03.txthttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/freerouting-net-Linux-binary-2014-05-03.tar.gzhttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/freerouting-net-OSX-binary-2014-05-03.tar.gzhttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/freerouting-net-Windows-binary-2014-05-03.ziphttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/build-instructions.txthttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/freerouting-net-source-2014-05-03.tar.gzhttps://s3.amazonaws.com/miscjunkandstuff/FreeRouting/FreeRouter-Example.tar.gzI have never had any luck with topor, but freerouting gets regular use.

author: Simon
author_rank: Unknown
timestamp: February 28, 2016, 08:31:12 pm
content: Free routing is simply the best but I find it hard to run with the fact that it's not up to date for Java and always has problems.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: February 29, 2016, 08:59:38 pm
content: Quote from: Simon on February 28, 2016, 08:31:12 pmWhat problems are you having?There are several github repos, eg.https://github.com/freerouting/freerouting. I did a few tweaks on my own version, although I don't really know Java. It did take some meddling to get it to build cleanly.

author: Simon
author_rank: Unknown
timestamp: February 29, 2016, 09:05:52 pm
content: It just refuses to load. I probably need a later version as I'm getting Java errors even though it's the self contained one.

author: Rerouter
author_rank: Super Contributor
timestamp: March 01, 2016, 07:01:11 am
content: I get the same for windows 7, 64 bit, exe does nothing, and the .jar throws the error "Error: Invalid or corrupt jarfile...." with the file location at the

author: dom0
author_rank: Super Contributor
timestamp: March 01, 2016, 11:49:50 am
content: Just in case... you need to download the file RAW not save the HTML page. I.e.:https://github.com/freerouting/freerouting/raw/master/binaries/FreeRouting.jar/ .exe

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: March 01, 2016, 08:06:18 pm
content: I've tried running Freerouter standalone (launched from DOS prompt), and launched from KiCad if you follow the instructions herehttp://amichalec.net/2015/10/kicad-upgrade/.Both methods work for me.Freerouter will not load some DSN files anyway, and just exits, so it can give the impression it didn't load.

author: Eng_hassan85
author_rank: Newbie
timestamp: March 01, 2016, 10:18:04 pm
content: I Like the Idea .. I was using the Oracd Autorouting , however I was doing some of them my self

author: Rerouter
author_rank: Super Contributor
timestamp: March 02, 2016, 09:18:36 am
content: thank you dom0, that time it worked, had a nightmarish breakout board, 40 pins in to 26 8 pin plugs out, now all i have to do is shove around and tweak the results,Note i normally route stuff, but for low cost and crazy breakout boards, i'm willing to stoop to any form of automation,

author: GamerAndds
author_rank: Regular Contributor
timestamp: March 02, 2016, 02:52:26 pm
content: I have never tried auto routing before, but it sounds like a good choice (looking infront of me at 5 breadboards filled with components). I noticed with your pictures howerver you use a much bigger trace for say your VCC. How hard is this to change after, or do you do this before?

author: jolshefsky
author_rank: Regular Contributor
timestamp: March 02, 2016, 04:40:15 pm
content: Quote from: cyberfish on November 29, 2010, 09:15:17 pmWell, I think your placement of parts is a bit wonky to start with. I consider myself quite a novice, but I tend to group like parts together. An example is C11 which I guess is a filter cap for a voltage divider of some sort ... maybe a temperature sensor? Anyway, I'd want to put it near the resistors its associated with and pretty that up first. By orienting them right, you can get some short traces to bind them all together and then have a couple traces that look like the inputs and outputs they are in the schematic.On the other hand, the autorouter decided to run that trace right between the pins on the clock crystal capacitors. That looks like a recipe for trouble, with a 20MHz square wave capacitively-coupled so close to what seems to be a signal trace.Consider also how you handled the high-current traces. I think the VCC routing under U6, U7, and U8 looks pretty good, but the wonky line around the outside of the connector doesn't. My own technique is to make copper pours of each power supply input (ground, ±V or just +V as necessary), often splitting them under a row of chips so the power pins are on the right side pour.Overall, to put it rather bluntly, your hand-routing technique isn't very good, so rather than saying the autorouter beads hand routing, I'd say your hand routing technique is worse than this autorouter. There are boards that have some really elegant routing solutions that an autorouter would just not bother to do.In the end, for small-signal, low-frequency boards, the prettiness of the underlying routing is not too relevant as you're not going to have issues with crosstalk and the like. As such, any old autorouter, as long as it connects all the nets, will do fine. But once you add a few high-current, high-impedance, or high-frequency traces, knowing how to route things elegantly and getting good at the TETRIS game of component placement will help.As I say, I'm no wizard at this, but here's an example of a controller board I made for an electric conversion of a riding lawnmower. Just the top layer from OSHPark's render ... the point is the pours provide lots of connections at low impedance, and the traces are clear and straightforward. The components are laid out so functions are grouped. (The odd connectors at the bottom allow either screw-terminals or Anderson PowerPole connectors to be installed in the board.)

author: kerrsmith
author_rank: Regular Contributor
timestamp: March 04, 2016, 10:21:51 am
content: Quote from: donotdespisethesnake on March 01, 2016, 08:06:18 pmThis method worked for me, I had to install Java first as I did not initially have this but Freerouter worked straight from KiCad once the .jar file was in KiCad's bin directory.I have been using it for the last few days (currently working on laying out a Bitx20 on multiple boards so I can test different designs for VFO, BFO, crystal filter etc) and it has certainly been a great help in getting an initial board layout routed. Once I have the components where I want them I have been using the autorouter and then tweaking the results to my liking.It really helped when I spent ages routing out part of the circuit and then realised I needed and extra power connector on the other side of the board - it was too much to expect that I would be able to just move a few tracks to make space, the more I adjusted it the more needed adjusting until I was practically starting from the beginning again. I cleared all my tracks, added the power connector and then ran the autorouter and within a second or two had a fully re-routed circuit.Personally I do not mind using autorouters (the default KiCad one does a pretty good job) as sometimes I want to get my circuits up and running fast - once I know they are roughly working I can then go back change them by hand. I prefer spending my time testing them rather than on routing out a complex layout by hand.If there are certain parts of a circuit I really want routed in a specific way I just add a 'keep out' area, autoroute the rest and then manually route the remaining tracks.

author: TheDirty
author_rank: Frequent Contributor
timestamp: March 04, 2016, 03:13:09 pm
content: Quote from: jolshefsky on March 02, 2016, 04:40:15 pmJust a reminder that the OP is from 2010 and the original poster hasn't been on the board in a few months. These necro posts are pretty confusing.

author: exe
author_rank: Unknown
timestamp: March 04, 2016, 09:27:35 pm
content: I'm no professional and I can't claim I tried every autorouter, but.... I've never heard an autorouter to defeat humans. Now I'm using diptrace and though manual routing takes me day (literally) the result is waaaaaaaay better than I ever seen from its autorouter. And that's besides other things like I know what traces must be kept short. Or how to place components. I believe I tried almost any free software (that anyhow runs on linux) with the same result -- autorouter is horrible.Also, if I can't route efficiently I may consider do changes to the schematics. Like swapping opamps in two- and four-amp packages. Or choosing a capacitor of a different size.So, if you spent just a few minutes for routing I'm not surprised the autorouter did the job better"Just" spend a whole day or two and your layout will shine.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: March 04, 2016, 10:32:40 pm
content: The biggest difference I see in the OP's results is simply due to the fact that the autorouter used piddly little traces everywhere, while the OP used some big fat traces, presumably where there was decent current flow. You can't fit a 100 mil trace between the pads of an 0805, but it's no problem with a 10 mil trace. That makes the autorouter's job a lot easier (and would likely cause the circuit to malfunction, assuming it really did need those large traces to begin with).

author: timofonic
author_rank: Frequent Contributor
timestamp: May 03, 2016, 02:10:45 am
content: Bump!Any new stress test to autorouters? What about TopoR and others?

author: Twistx77
author_rank: Regular Contributor
timestamp: May 03, 2016, 10:37:30 am
content: Hi,I have used many autorouters and they are good for what they are good... not too much anyway. If you have a simple direct connections between components it might do a well job but if you have anything a bit complicated it will not do a good job for many reasons:1) It will go to the limits imposed to it, and that means that even if it has more space it will go to the limit and therefor is more risky for production.2) It can't move components or change pins. A good PCB designer will move components when routing to get a better route or will go to the schematic and swap pins when possible just to get a better routing, an autorouter does not do that.3) It doesn't have (at least in most case) into account the type of signal that is running, high speed, analog, power, etc. When you are routing a realtively complex board you have to always take into account, EMI, noise, current through the track, length, etc.Those are the main and sufficient reasons for me to not use an autorouter unless you have a really good one were you specify many, many things to make it do it somewhat what you really want.

author: timofonic
author_rank: Frequent Contributor
timestamp: May 22, 2016, 07:19:02 am
content: Aren't there autorouters smart enough to surpass those issues? I can't understand it!

author: Karel
author_rank: Super Contributor
timestamp: May 22, 2016, 08:13:33 am
content: Quote from: timofonic on May 22, 2016, 07:19:02 amThe problem is, such smart autorouters are so complex to setup & takes so much time to specify the requirements for the traces,that you can manually route the board in less time.