That begs a definition for “complex” and a reminder that people tend to be stuck with one kind of device line, even with a long career in several jobs (at least that’s what I have noticed from discussions). Some have never needed to create a board as small as possible so that every 0.05 mm counts. Some have never touched high speed, some have never seen a high current or high voltage board.
As has been said by several people who don’t use an autorouter, there’s room for enhancing the automatic capabilities of KiCad for example for one route or for a bus with automatization.
I would take a PC motherboard, with BGAs, high speed memory and several smps as an example of a board that really needs and uses the capabilities of the high end ECAD packages (at a high price)
I consider a net “high speed” when the signal edge rate is fast enough and the trace long enough that that transmission line effects must by accounted for. e.g. a net that requires a controlled impedance trace along with possible source and end termination.
If I am turning on an LED or static IO, an “ugly” trace route doesn’t really matter too much. However, I deal with boards in with fine pitch (0.5mm) BGAs, high speed (300MHz to 3GHz) signals and high voltage (4kV). On these there are so many complex constraint corner conditions, it’s hard to see it auto-routed without spending as much time entering the constraints as it would to layout.
Way back when starting with Kicad I stated:
We have now great 3D support, much improved differential routing, and just got area-based DRC support. The KiCad (and add-on) Devs have come a long way.
Autorouter, lets see: Altium Desinger-yes, Altium Circuitmaker-yes, AutoDesk Eagle-yes, Advanced Circuits PCB Artist-yes, NI Ultiboard (Ultiroute)-yes, easyEDA-yes, dipTrace-yes, Solidworks PCB-yes…
All of these offerings believe that there is some utility in autorouting and I agree.
KiCad is not stopping you from using any autorouter you want. Elektra/Konekt, Pulsonix, TopoR, gEDA and Freerouting are all supported.
Whilst there are good outside alternatives, high quality aspirations, limited developer time and other significant priorities, this is not going to happen. All software needs development and support and there just aren’t sufficient resources available to the KiCad team or motivation to add autorouting at this stage.
Nope, but John’s post is pretty much in line with what the Kicad team thinks I can’t speak for the rest of the devs, but I’d rather not spend years of my life developing a high quality autorouter just because some proprietary tools do have an autorouter (whether their autorouting results are acceptable is a different story…). P&S is a sufficiently large beast to maintain.
Is clean-sheet development the only alternative? What about integration of one or more of the freely available autorouters? I have used freerouter.jar and it works, but it is a pain to do all of the steps to make it work with KiCad. And I haven’t figured out a reasonable approach to autorouting when the signal plane has a copper ground fill (zone). And not just everyone has the API expertise to provide reasonable integration of existing tools.
But your response, “…I’d rather not…” suggests that it is more about your personal development efforts than what is good for your KiCad clients; unless I misread–then I apologize in advance.
And for those that don’t “like” autorouters, its mere existence doesn’t make it a requirement to be used.
Open source software development is a bit like stone soup. Most people can bring a pebble, but it’s difficult to find someone who can bring a big rock unless there’s an interested and capable person and sponsorship to pay the bills. Unfortunately autorouting is not something that can be broken up into smaller chunks for many to solve.
Otherwise, there are developers who operate an independent company who offer paid development and support services for KiCad if you want to pony up the cash for them to spend their time developing the autorouter.
The rest of us work in KiCad in our personal free time as a hobby and enthusiasts. I can tell you my professional wage is easily $100/hr otherwise
And anything that touches topology (for those who don’t know, it’s a branch of mathematics that thinks a coffee mug and a donut are the same, yet, for some reasons its theorems are quite useful when put to work in PCB routing software), it’s $250/hr (studying topology is known to cause heavy brain damage).