Autoroute? Is it coming?

What’s the score with Autorouting in KiCad v5?

Is it coming soon? Do I need to use a different utility? Is there a plugin?

1 Like

Is it necessary.?
I say no,

6 Likes

No, not in 5. anything, or 6.
There are far more important things to occupy the developers’ time.

2 Likes

Possibly you could import into CircuitMaker 2.0 and then import again into KiCad.

There was an autorouter included in early versions of KiCad 4 but it was not very capable and it was removed. There was a specific icon in later versions of 4 and probably early versions of 5 (can’t exactly remember when) that would send the pcb to an external autorouter and re-import the routed file back into KiCad. The link was specific for FreeRouting - a java program which was developed in 2004 by Alfons Wirtz. The original FreeRouting program was subject to some legal controversy and the original author was not able to support it. There has been some support for FreeRouting but it has been a bit patchy.

Understandably, the KiCad authors did not want to have a potential support headache by including FreeRouting within KiCad. In addition, there had been a great deal of work done on developing a ‘push and shove’ router within KiCad. The direct link to FreeRouting was removed but an auto routing workflow is still possible. The pcb can be exported as a ‘Spectra DSN’ file - which is a commonly understood basic pcb layout format. This can be imported into most if not all external autorouters - Freerouting included but also Elektra/Konekt, Pulsonix, TopoR, gEDA and whatever other autorouter you fancy. You are then free to import the routed board back into KiCad.

You will find there is not a huge amount of love for autorouters in this forum. The push and shove router is very powerful and works extremely well. Autorouters can be very useful and CAN save time BUT they really need setting up properly to get optimal results. For high frequency/ layout sensitive designs that often takes more time than routing the project manually. The lack of an in-built autorouter is usually most complained about by users new to PCB layout who assume that the process can be completely automated and are happy with a spaghetti mess as long as it passes ERC. They can save a lot of time when routing a wide bus, but so can the P&S.

Whilst there is a method of dealing with auto routing outside of KiCad, excellent P&S routing within it and a list of desirable features (https://gitlab.com/groups/kicad/code/-/epics and https://gitlab.com/kicad/code/kicad/-/milestones/16 ), inbuilt auto routing will probably be considered a lowish priority.

9 Likes

This is precisely the reason the autorouter does not have a huge amount of love, and also the very reason it’s quite a complicate thing to implement (instead of features like “net inspector”)

I thought new users are best routing the tracks themselves?

Anyways, since routing manually allow you to route tracks in specific shapes you wanted you can put them in places where they can “look good”, such a large section with evenly spaced parallel wires.

Some people insist on “routing all the horizontal tracks on one side and all the vertical tracks on the other side”. It sound good, but for even moderately complicated designs it becomes infeasible (e.g. two wires that need to cross over)

When I route, I start by putting tracks as short (as possible) to connect the pads. Basically acting like a super-dumb autorouter in the first half. But then once there is a few connections you can start to optimize by doing things like “if I pass this track through here, it will free this place up and allow this track to go through here”. Eventually it will look quite neat.

Yes, but they seem most often the ones expecting that the software does this task for them. There are a lot of previous Eagle users who have had access to an autorouter and are surprised when it’s not available in KiCad.
I enjoy using the P&S router - it’s a more productive version of solving games like this https://www.bigduckgames.com/flowfree

4 Likes

(using “device emulation” in microsoft edge and changing device type to “mobile”)
Perhaps one reason I have no problem routing my boards is because I was so good at these games :p

Jokes aside, Eagle is a really, really, really powerful integrated designer. But it’s also $500 a year (fusion 360 subscription).

I have had to improve a couple of boards this year that were routing disasters because of poor choices of connector locations and component placement by the original designer. They were partly autorouted and to be honest it had done a reasonable job considering the choices made. I had to move components around to get the track flow more logical. Placing components and choosing connector pin outs is hard for software to do.

2 Likes

@davidsrsb is right - most routing problems are down to poor component placement.
It reminds me of the old joke - The young chap asks the old man, ‘How do I get to Dublin?’. After a few moments thinking it over, the old man replies ‘Well now, I wouldn’t start from here’.

4 Likes

Now that I have placed a few tracks, I can see how good KiCad is at it! It’s really semi-auto routing.

3 Likes

Welcome to the club :slight_smile:

What would be nice during initial placement is a simple sum of all rats nest lengths, maybe ignoring GND.
You can go a lot further like I used to do with Xilinx tools by giving “weights” to certain nets, but this all takes a lot of time.

I used to use an autorouter myself, but disliked the lengthy cleanup (fixing sloppy routing and correcting many, MANY DRC errors!) that followed importing the file back into KiCAD, and manually lay out my boards now.

I’ve said it before, but THE most important step in layout is part placement, and don’t be afraid to walk back some traces and move a few parts around to get a better routing alley or more clearance.

5 Likes

HA! I have wasted several hours today playing that silly game! :+1:

I should not have called it silly, but yeah, it’s sorta silly for me because I already have KiCad to play the same sort of game.

I got through to the 21st game of the 8X8 games. I do honestly believe that my KiCad experience made the game puzzles much easier to solve.

4 Likes

ye, Great job developers!

Agree totally! Most professionals view autorouting with a healthy dose of scepticism, and rightly so. High speed, RF or high density - forget about it. I use autorouting as a suggested guide, when routing out from a large BGA for example. I would never rely upon it to produce a design that I could really trust. There’s way more to good PCB layout than point to point connectivity.

1 Like

Probably it’s not coming. Probably never. Try export PCB as Spectra into Topor, and back to Kicad. Works well, very useful. I don’t understand why people here on forum want to make just literally everything manually, I don’t get it. Autorouting is not perfect but lets you save so much time. Even better, sometimes gives you idea how to route tracks that you wouldn’t even think of.

1 Like

In my case the reasons for not using autorouting are:

  1. Right element placement takes me 90% of time. Finishing the project by routing is simply a pleasure.
  2. Bad experience with autorouting. Tried only once. Our employee autorouted PCB. Was happy as 100% was done and ordered PCB. And it didn’t worked. Digital signal line was 1 cm length and associated with this signal clock line got more then 20cm (around whole board).
3 Likes