Comment by skummetmaelk

6 years ago

Would you mind expanding on these mistakes?

This is entirely subjective, but I think the UI is needlessly unintuitive (but okay compared to other EDA tools), and the parts management seems not well thought out IMO. A similar feeling that e.g. LTSpice gives me: you can get into it, but parts feel arbitrary and other parts feel hacky, and ultimately you never really enjoy it.

My favourite open source EDA tool that IMO does it better is horizon EDA. https://horizon-eda.readthedocs.io/en/latest/feature-overvie...

I made quite a few working PCBs with that one already. Downsides are:

- the library is not that big yet (but adding parts is really easy, you can even use inheritance etc)

- won’t run on any old machine because of the OpenGL-version

- if you are not using windows you need to compile yourself

One of the things I really like besides the UI/UX (one button hotkeys!) is the library concept called “pool”, where every part is made up of modular pieces, which makes things reusable and consistent. If you’d like to change the resistor symbol for all resistors you just have to edit in one place, if you feel like making a opamp with eight channels, just duplicate the quad one and add four more opamp units. Their concept takes a moment to sink in, but is incredible flexible and is one of these “why didn’t we do it like that from the start”-ideas.

Fair question.

In the category of still stuck in the 1980's:

Handling of bus rippers, and hierarchical nets as they expand through topological hierarchy. Especially in regard to the flexibility of naming ripped sub-nets.

Restrictive topological hierarchy.

Lack of separation between attributes files and topology files. Inability to mate a single topology file with multiple different attribute files for different circumstances.

There are also features like buried components and complicated material stack-ups that commercial tools handle, but I really can't fault an open-source tool for not including things that are expensive to validate.

General complaints:

UI is cranky and not intuitive, especially w.r.t. part libraries.

Obtuse and restrictive footprint specifications. The sad thing here is that KiCAD went through a gut-and-redesign of the footprint specification format, and seemed to willfully ignore the RS-274X specification and willfully ignored the hard lessons that led us to the methodology of using RS-274X macros to define footprints. If I can write a trivial RS-274X aperture macro for my footprint, I should be able to specify that in a footprint and have it come out correctly in the Gerbers. HELLOOOO!!! Please read up on years-old industry best-practices before "improving" your system. (Admittedly, I haven't read the KiCAD footprint spec documents lately, maybe they have evolved.)

In the category of just plain broken:

I don't use KiCAD a whole lot, but not too long ago a client asked for design file deliverables in KiCAD format. I was annoyed that my Rev A boards came back with trivial issues that the design rule checker completely missed. Sorry, that is one piece that needs to be pretty damn solid for me to take the tool seriously. (I have also use GEDA and have plenty of complaints about it, also, but at least the PCB DRC has never led me astray.)

Some of the most annoying things for me in KiCAD are (or were, maybe some of them got fixed):

* Projects not standalone / portable across computers, which makes collaborating hard.

* Parts library management is not intuitive. Lots of confusing UI around library paths for example.

* Footprint assignment should be handled automatically or at least provide sensible suggestions instead of every footprint with the same amount of pads.

But there are two promising alternatives around: Horizon EDA, which the sibling post already mentioned, and LibrePCB (https://librepcb.org).

I personally only used LibrePCB for some project and it worked quite well, apart from some missing features, like missing design rule check. But the upcoming 0.1.3 release adds quite some of them.