Hacker News new | ask | show | jobs
by ur-whale 2406 days ago
Kicad is an amazing tool. Not easy to get into, kind of like vim in that regard, but when mastered, it's really powerful.

With that in place, I wish it had:

   . Something to import LTSpice files directly into its schematics tool (or even better, go back and forth)
   . A rough but well integrated auto-router
   . A better parts library management system (the current one is really bad).
But even without those, designing electronics circuits with KiCad is a blast once you've mastered it.

And it's free ...

5 comments

You can try gEDA topological autorouter Toporouter: https://youtu.be/NqT4ZYGB3VY

You can also use TopoR autorouter for free: https://en.wikipedia.org/wiki/TopoR

Topological routers make really interesting board designs looking like something retro or biological in its nature :)

I did try TopoR back in the day, but the lack of integrations was IIRC a PITN.

I've not tried Toporouter and will go paly with it, thanks for the pointer.

Library management is a little messy, but on the other hand it’s great that the master version of it is just a GitHub repository. That makes it really easy to pull down the latest, add new parts as you work on a project, and submit pull requests to share them back.
I remember there was a company trying to make "EDA library" as a service with online API.

I wonder if they are still around and if one can use their API from KiCad

> A rough but well integrated auto-router

If you're depending on an auto-router, you're doing it wrong.

There's a lot of autorouter hate in the electronics community which I think has a basis in truth, but is in danger of losing sight of the big picture.

Autorouters can be terrible. They mainly are. The reasons are partially with optimisation algorithms (although these are getting better), but primarily with poorly defined constraints.

Currently a schematic holds the physical connections and maybe a little bit of extra data - some pins might be "power" pins, or maybe a net or two is defined as a high current net - but broadly the circuit metadata which is highly relevant for routing is held in the designers head.

When you lay out a board you're always thinking about high current and high frequency (and especially high current high frequency) paths. You're looking for paths to ground, you're isolating sensitive analog regions from noisy digital regions, you're making sure the ground plane is uninterrupted. You're basically making thousands of tiny tradeoffs based on an understanding of what the board should be doing. If a computer doesn't have that knowledge, of course it can't effectively lay out a board.

If we can improve schematic annotation and part representation to properly hold this information then there's absolutely no reason autorouters can't be better than manual layout. If we can combine it with simulation then autorouting should really be the only logical choice. If you can almost completely avoid EMC testing by carefully defining all the high frequency nets and letting the autorouter find a design which is optimised for RF performance, then why wouldn't you? An EMC chamber costs thousands of dollars a day - you can easily spend 10s of thousands just on the testing alone, not to mention redesign costs.

There are tons of rule of thumb routing design choices made that lead to being able to route incredibly complex PCB's which becomes a topological problem. Rules that would need to be either programmed into such a system, or somehow potentially AI could use a huge corpus of board designs and schematics to make a better auto router.

My point is that as they stand currently, autorouters are absolute trash and you should not be depending on them.

The only real place they work is when you have a trivial routing situation but it would be incredibly tedious to route by hand, like a bus with 100+ traces or something.

I'm not depending on an auto-router, which is why I went through the exertion of adding the word "rough" in my post. Auto-routers are a very nice time saver to get something going quickly.

Also, you have strictly no idea what kind of design I'm working on and therefore no idea what constraints - or lack thereof - I have to deal with when I design boards.

Finally, I've heard so many boomer EDA folks spew out this lame argument ... it's the same old tiresome song from folks who use to claim compilers could never beat hand-crafted assembly. They're very seldom heard from these days.

If you have design requirements that warrant using an auto-router, I don't think you'd be posting on HN asking for it in an open source CAD package.

No, they're not for getting anything going quickly. Route it yourself so your boards don't look like absolute garbage. Unlike a compiled programming language, aesthetics matter, and you get no optimization from an autorouted board unless you're doing something like routing the exact same trace a hundred times over for some super simple parallel bus.

Which, again, I'm pretty sure you'd know what you were doing enough to not ask about an autorouter feature on HN if that were the case.

This coming to you from an early 20's "boomer".

You can simulate using SPICE in KiCad now (ngspice).

KiCad already has an auto-router?

But yeah, parts management is a mess...

>You can simulate using SPICE in KiCad now (ngspice).

Yes, but LTSPice is so much better than ngspice. I really wish the Linear would OpenSource it, it's a really cool piece of software.

KiCad does not really have a very well integrated auto-router. As someone pointed out, the only "integrated" one was deprecated, and all the others I've tried are very clunky (from the pov of being integrated).

KiCad's native autorouter was deprecated a while back (unless someone added it again in a recent point release)
I've had very good luck with this build of FreeRouting alongside KiCad https://freerouting.mihosoft.eu
That used to be semi-attached to KiCAD, but due to some whining, it no longer is. Its author had worked for a company that did routing software, and they were huffing and puffing about him competing with them, although they didn't apparently have the contractual rights to stop him.

I used it to route a board, and it was kind of touchy, but did the job.