I have an old board I'd like to revise slightly, but it's too much work and risk to convert to the new "interactive" (i.e. manual) routing system.
I have an old board I'd like to revise slightly, but it's too much work and risk to convert to the new "interactive" (i.e. manual) routing system.
1. It was written in Java. We do not have any java devs nor any interest in learning that language. Nobody else has stepped up, period. Most of us develop from professional experience and Java simply isn't part of that.
2. The autorouter was never embedded in KiCad due to being java. It was a command line utility. It's behavior and/or bugs varied as a result.
3. ***The absolute biggest issue.*** The autorouter has broken licensing status. The author of it was sued by his company for writing it on company time/knowledge/NDA and they claimed ownership of it. We cannot legally bundle it because it's copyright status is essentially disputed by a legal entity with piles of money. That author also disappeared when he got sued. Somebody attempted to fork it but they also gave up years ago because autorouters are.....
4. Autorouters are a beast of work and a full time job in of themselves to ensure they work. You can create simple solvers but they quickly break down once you add more and more traces and constraints. There are even companies that offer autorouting services now as an example of just how much work is involved in doing it right.
We decided our time is best spent elsewhere. We wouldn't stop someone if they came up and developed a new autorouter from scratch to contribute, but nobody has and we have limited man power. We are a niche group. We are Electrical Engineering backgrounded using our intense experience and industry connections to write a tool for ourselves and others. This is well beyond the interests of comp sci code monkeys to get manpower as easily as leftpad on github ;)
You can still use the old auto router, you just have to do it manually (export, route, import).
According to this : https://freerouting.org/freerouting/using-with-kicad it should still work as it did long time ago.
What I do remember is that the author of freerouting.org was harassed by his (former?) employer.
How I do placement now: deleting part of my schematics, then copying the remaining components to the PCB layout, then undoing to get my schematics back, delete another part of the schematics, etc.
Regarding a graphics tablet: I've thought about it, but then I miss the scroll-wheel which is absolutely necessary for zooming in/out. Are there tablets with scroll wheels?
I've not tried Altium's autoplacer, but its autorouter is crap. I bought into PADS in the 90s (it was better than Protel, but not as expensive as OrCAD PCB). It used Specctra and then their own Blaze router. Both were excellent. I can not believe how bad Altium's autorouter still is (it leaves your board full of drc errors including shorts).
It is difficult to convey how well auto-routers can work to people who are used to manually routing boards in Altium because of it's broken auto-router. Seriously you hit the auto-route button, and a few minutes later it's done. You do want to ensure you have good constraints, all of the work is there, and it's a good idea to have them even when manually routing. It's very feasible to move parts around and do trial full routes to help find the best placement.
PADS did have an autoplacer, but it did not work very well as I remember.
However, I've been contemplating the idea of creating a smarter auto-placement for new boards where it'd take the relative positions on the schematic into account. As in taking the relative distances of parts on the schematic, probably using a weighted heuristic / k-means to determine part clusters.
That'd be about 80% of what I'd want from a full auto-router. The new S-Expression eschema format should make it almost trivial to do as an external program. I tried on the old format and it was way to difficult to parse. Though if the Python API's really have been updated then it could be made into a plugin.
For relatively insensitive signals, or when you can constrain the layout with rough guidance to something that should easily pass signal integrity, this technology makes it so you can go get lunch while the computer gets a decent layout that you'd typically check before sending it off to the prototype fab or get started on quickly running one in-house (for that <2h turn-around from layout to power-on, including printing and soldering).
If I need something more complex very quickly, I usually do some combination of hot gluing and cutting up dev boards and dead-bugging.
Someone who tends to only use the autorouter in a bad way probably wouldn't do much better doing it by hand anyway as they wouldn't be aware of the pitfalls.
They'd still end up with 500 vias, traces all over the place, bad placement and not doing any pinswapping anyway