Hacker News new | ask | show | jobs
by robomartin 1698 days ago
> The differences may not be obvious for simple boards with low speed connections, but it’s a world of difference to use one of the high end CAD tools on a complex board with high speed traces.

No, not really. KiCAD is more than adequate for DC to GHz range circuitry. Add to that being able to develop custom tools in Python and we are at a point where there's almost no comparison --in favor of KiCAD.

For context, we were doing GHz-speed boards with PCAD back in the dark ages (20 years ago? Can't remember). As someone else mentioned, you work with your board house for controlled impedance manufacturing. Not that big of a deal. Also, you have to understand the subject or it won't go well, no matter what magic and pixie dust the EDA tool might offer. If the designer does not understand transmission lines, software isn't going to save you.

The same is true for power distribution systems. Just 'cause chips are connected to the various voltages on the board it does not mean anything is going to work. PDS design is a subject in and of itself. You can't just throw a bunch of 0.1 µF capacitors at the problem and expect things to work. Much as is the case with transmission lines, when it comes to power distribution for high speed designs, you have to know what you are doing.

We are very seriously considering migrating away from Altium Designer to KiCAD. I spent a good portion of the last couple of weeks taking a look at this in detail.

I am sick and tired of paying thousands of dollars per year to maintain our licenses only to see them pile-on the bugs. Altium has been focusing so much on trying to find a buyer for the company that they have actually done damage to the product and the user base.

For example, nobody I know has any interest in anything involving the cloud when it comes to EDA. Nobody. It is interesting to note that, if you work in an ITAR environment, today, given software realities, KiCAD is far more secure than Altium. I cannot, with a straight face, approach our clients and tell them that Altium Designer isn't reaching outside our network without air-gapping the system. With KiCAD, I can issue such a statement with absolute certainty.

Here's another one: Nobody who knows what they are doing would ever use schematic symbols and PCB footprints from a library. I don't care where they came from. This means libraries have nearly zero value (or negative value) for serious design work. You have to make all of your own symbols and PCB footprints in-house and qualify them for your designs.

Here's an interesting KiCAD advantage: I can actually ship the entire EDA tool with the design. Clients can archive all of it, software and design. That is powerful.

If we make the transition (very likely) we will our annual Altium maintenance fees to the KiCAD organization. For me this isn't about getting free software at all. I prefer to pay for software because it generally means it will be well supported. However, that changes rapidly once it become obvious that the company isn't using the money to actually work on what matters most. By supporting KiCAD financially I would help ensure it keeps moving in the right direction.

Oh, yeah, and code. We can definitely help with plugins and maybe even some main application development or bug-stomping. It would be fun.

1 comments

  > Nobody who knows what they are doing would ever use schematic symbols and PCB footprints from a library.
Why would somebody maintain their own library of symbols?
> Why would somebody maintain their own library of symbols?

Adding to TD-Linux's answer...

Process variants can create situation where board reliability might be negatively affected by boilerplate PCB patterns. Yes, while things have gotten better over time, you cannot trust anything in any library without, at a minimum, a full check. And, frankly, if you are going to do that, you might as well create your own symbols and PCB patterns.

If you work in aerospace or anything where high reliability is a must, you simply cannot use stock PCB patterns. Everything has to be process qualified and tested. At the extremes you have thermal cycling and vibration testing. High acceleration can rip components right off PCB.

There are other considerations. For example, most library schematic symbols have pins arranged in some fashion that made sense to whoever did the work. This can easily lead to truly convoluted schematics that are the equivalent of spaghetti code. Arranging and spacing pins according to the design one is working on can result in very clean and easy to understand schematics. This can be especially true of analog electronics.

Another case is FPGA's. If you approach FPGA symbols in a generic per-bank style, you can end-up with, again, schematics that are a rats nest nobody can follow. If, on the other hand, you create symbols in the context of the design, things can be massively easier to work with and understand.

Yes, that means you don't use the same symbol for every design. We have created tools to manage this effortlessly. As we transition to KiCAD we are likely to port these over from Altium's VBA to Python and open source them.

Bottom line: The potential liability of delivering a design that fails because you used a third party library can be costly. People with experience have learned this is a false economy. It simply isn't worth the potential consequences, from having to redo boards to product failing in the field.

That said, for quick "non flight-qualified" prototypes and hobby projects, sure.

Interesting, thank you! Yes, I see how it depends on the field one is working in.
I think the GP mostly answered it, but usually it's so that they are self-consistent with a set of design rules, and known to work. Every place I've done professional PCB work has had their own library.

I think this trend comes from exposure to really poor standard libraries - for example, I found Altium's libraries being especially inconsistent and weird (though it's been a few years since I've last used Altium).

I've personally found the KiCAD standard libraries to be very consistent and high quality in comparison (both the symbols and footprints), and have no problem using them on my own designs - in fact, if I have to make my own schematic symbol, I often reference the standard libraries' design rules when making it.

I see, thank you.