Hacker News new | past | comments | ask | show | jobs | submit login
Real-time Netlisting in KiCad [video] (fosdem.org)
76 points by teleforce on June 3, 2021 | hide | past | favorite | 27 comments



Just a general comment on KiCAD.

I'm honestly impressed that for my applications they have reached feature parity with EAGLE and Altium, both of which are $10k+ per license.

In my opinion their GUI still needs beauty and readability improvements, but they can somewhat compensate by having a great print preview and PDF export. I'm trying to lobby them towards supporting a wider selection of fonts, but that'll realistically take a year to arrive.

But where KiCAD really shines is compatibility. I was feeling rather grumpy after Altium priced me out of being able to open my old design files. But KiCAD could import them almost flawlessly. The only thing I needed to do by hand was to type in clearance constraint rules.

Export to Gerber and fab also worked as expected. Plus their community forum is like 1000x more lively than the beginner forums for Altium and EAGLE.


Eagle is now Fusion360, and so free for non-commercial or $10k would buy you more than 10y of subscription, I suppose that's debatable whether it's more or less than $10k for one-off perpetual licence, but I suppose I'd suggest if you were paying that much for software you probably also need it newer than 10y old and would've spent it again on a newer version?


You say that as if it a good thing. As a non-commercial user of cad-tools I avoid fusion 360 like the plague.

Now if they had charged a reasonable amount for a license I'd pay but now I see it as a net loss for society. The only goal it serves is to squasch competition and free software.


I just say it as if I consider it positioned between KiCad & Altium.

I'd like to avoid F360, but for 3D modelling it just seems so far ahead of FreeCAD, which still has the frustrations I have with F360 as someone used to working with git anyway; really I just want to learn OpenSCAD or similar well enough.


>> I'd like to avoid F360, but for 3D modelling it just seems so far ahead of FreeCAD, which still has the frustrations I have with F360 as someone used to working with git anyway; really I just want to learn OpenSCAD or similar well enough.

For MCAD give SolveSpace a try - https://solvespace.com/


KiCAD has good compatibility with a very small number of file formats. It needs a LOT of long term work to expand this capabilities.

There are dozens of poorly documented EDA project formats and unfortunately they are usually associated with expensive software. And KiCAD has little support for many of them.

For instance I most recently came across OrCAD, yet another EDA tool I have never even heard about it before, it’s proprietary format locking away design information and thus requiring tedious and error prone reconstruction of what is otherwise a completely open design.

I’ll compare it to Blender, where the support for all but the most ludicrously esoteric formats has been developed and in many cases is still maintained. Sometimes even better than the original tools for the formats were. Blender has done an excellent job of supporting otherwise proprietary formats originally developed for and used by software with a median cost in excess of $1000USD (if not that price per year in some cases).

I don’t expect parity, I’m aware of the challenges and appreciate both the complexity and even the difficulty of getting hold of these files in the first place for reverse engineering. However to call KiCAD’s support for EDA file formats in general “excellent” feels disingenuous. It has excellent support for a few of the most popular formats and very patchy support beyond that.


The Cadence suite of EDA tools (of which OrCAD is one of) is surprisingly popular, but more for its silicon-level and SPICE simulation capabilities. So it seems to be something that should be added to the list, in terms of features for KiCAD...


I'm the creator of the Altium importer in KiCad, and yes, importer development is time consuming but important for people without access to those programs. I even looked into Allegro and reverse-engineered initial bits, but without access to those programs it is practically impossible to write something meaningful. At least for Allegro, you can export to Fabmaster and import it into KiCad.

It's also easier to write importers for the ASCII file format than for the default binary file format, but for the former one the user needs to have access to the proprietary program to export it, which makes them unsuitable for some use-cases.


Some of the EDA file formats are absolutely terrible. My first job out of school was building https://en.wikipedia.org/wiki/NI_Multisim . As I recall, the file format was quite bad and I doubt anyone would be able to figure out what it meant without sitting in front of the tool, generating a file, then inspecting it.


I’m still paying for Altium. Last time I tried KiCAD I couldn’t assign a net to arbitrary polygons, which is critical for RF work. It still has a ways to go to catch up with Altium, which is $2k/year maintenance.


1) Eagle Premium is a $495/year AutoDesk subscription. (There's a Standard version for $100/year for small boards.)

2) Both Altium and Eagle have nice component libraries, which KiCad has a lot of work to improve.


Software quality and component library quality are a bit of a chicken-and-egg problem, Kicad's editors are popular enough and good enough that major vendors (like Digikey [1] and SnapEDA [2]) are offering Kicad footprints for products.

[1]: https://github.com/Digi-Key/digikey-kicad-library [2]: https://www.snapeda.com/


Does anyone use these in production? I thought most companies of scale had dedicated teams or individuals to act as component librarians because the publicly available footprints are so bad.


They're not technically faulty, just incomplete. Everyone has different, ephemeral needs for purchasing and stocking; as long as your footprint matches what's on the invoice you're fine.

It's been a decade since I've had a problem with a buggy footprint from a default library (contrasted with quite a few buggy footprints I made myself). But just two weeks ago I had a board problem because my selected LED had a slightly different leadframe and pad geometry than the library version. (A '3030' package, comparable to offerings from Cree and Lite-on and Lumileds and - I thought - my LCSC-sourced Everbright.) The stock library footprint was produced in 2016 for a nominally equivalent package from a different manufacturer. When I used one part number in Kicad and bought a different part number, it's obviously my fault. If I worked at a company of scale instead of a company of 20 I'd not be selecting random LCSC part numbers, but that's more so that they'd be confident in their ability to actually buy the thing than because they distrust the stock libraries.


Kicads problem is not quantity but quality.

There are too many low quality and duplicate models in the standard library.


Not to mention supported by PCBA vendors like MacroFab and CircuitHub! It's awesome to be able to upload 2-3 files and have it all auto-generate the PCB's and find the parts.


I've been using KiCad professionally for 2 years, and I'm pretty happy with it. I made a token effort to try some commercial offerings but at this point the transition cost seems higher than the benefit for the mid-range boards I'm making. Would likely be different if I were laying out big FPGAs with RF and DDR5.

I'm really looking forward to KiCad 6. Tried the nightlies and the UI improvements and all the little changes are really impressive. Was tempted to switch my work over to it but was scared of the inability to convert projects back to the KiCad 5 format.

My one major complaint coming from a software background is poor support for version control. KiCad is closer than most to working with standard tools due to its structured textual data formats. However the structures in the files are ordered by comparing the objects pointers so every time you launch KiCad and save it randomizes the order of everything causing massive spurious diffs. I've seen some people use pre-commit hooks and perl/sed scripts to try to fix the diffs but could never get them to work. I've been meaning to contribute a better sorting system but the prospect of building 30 C++ libraries from scratch on Windows triggered PTSD flashbacks.

In the mean time I've been using cadlab.io which is a GitHub-like for ECAD. It can make visual diffs of changes which is quite nice. It can be slow, though, and it has a weird rendering bug on Firefox that makes everything blurry sometimes.


Maybe give https://librepcb.org/ a try? The file format is optimized for version control. While it isn't yet as feature-rich as KiCAD yet (e.g. no differential pair length matching, no 3D preview) it tries to do better in terms of usability and library file format.

(Disclaimer: I'm a contributor)


I really like the simplicity of librepcb. For small projects I prefer using librepcb over kicad.

There is however no question that kicad has the mindshare and is moving at a much faster pace.


I just looked into it and the Git issue has been fixed for V6 already: https://gitlab.com/kicad/code/kicad/-/commit/0a5f11fb3720515...


Here's the KiCad 6 roadmap & feature set, if anyone is curious about new KiCad features: https://techexplorations.com/blog/kicad/kicad-6-review-new-a...


Amazing article! I love keeping tabs on KiCad growth even if I don't use it anymore. It was already perfect tool for small projects some 5 years ago.


Does anyone have any experience with Horizon EDA? https://github.com/horizon-eda/horizon

Two days ago version 2.0 of Horizon EDA was released. I haven't tried it yet, but I've watched some Youtube/twitch Videos about it and I've to admit I am really impressed. It has some really nice convenience features - and the way it handles libraries is much nicer than the way Kicad does.

The only thing that's holding me back is, that it's basically a one man show. Although the project already exists for several years there's always the fear that the author at some point abandons the project. I really wish there would be some sort of semi automated conversion tool which allows me to convert Kicad projects to Horizon EDA.


Basically kicad is great, until you need huge BGA packages, high speed bus traces, or DDR with its insane number of address/data lines that require some RF like thinking in design.

The only real other option is Altium these days, which is like $10k as others have said. Maybe $7k if you really haggle.


I would say huge BGA packages are not much of a problem. KiCAD is plenty cable for laying out such a board and all the layers such dense chips require.

Its more of an issue of high speed designs, you cant easily put a layout into a simulator or have it even simply just calculate impedance of a trace automatically as you try and place them. Instead you must manual put these details into a calculator. Its things like this that really slow down working on a complex design. Although, large BGAs generally imply some sort high speed elements in a design so equating packages with needed features is not unreasonable.

Also component library management could be better.

Although, for simple to moderate designs its definitely starting to give other professional software a run for their money.


I found when breaking out a bga package the constraints started acting poorly in either dog bone or via in pad in terms of spacing. As in, the board house specs were set and should have been ok, but kicad wouldn't allow traces or vias where it should have in some tight areas


Very useful feature. KiCAD is rapidly becoming feasible for use in a professional setting.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: