Real-time Netlisting in KiCad [video]
fosdem.org
fosdem.org
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.
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'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/
2) Both Altium and Eagle have nice component libraries, which KiCad has a lot of work to improve.
[1]: https://github.com/Digi-Key/digikey-kicad-library [2]: https://www.snapeda.com/
There are too many low quality and duplicate models in the standard library.
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.
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.
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.
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.
(Disclaimer: I'm a contributor)
There is however no question that kicad has the mindshare and is moving at a much faster pace.
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.
The only real other option is Altium these days, which is like $10k as others have said. Maybe $7k if you really haggle.
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.