Live data from Hacker News

KiCad: A commitment to freedom

giving.web.cern.ch

71–80 of 89 posts

Re: KiCad: A commitment to freedom

#71
post #4

> Today, KiCad is considered a mature tool for the design of Printed Circuit Boards, featuring some capabilities that match or exceed those of costly proprietary alternatives. Two weeks ago, we evaluated whether we ditch our current proprietary EDA tools in favor of KiCad (my company designs and builds satellite electronics). We liked the user interface (it's not good, but better than the "professional" alternatives)…

Most of your post is Greek: tracks, vias, copper zones. I'm not sure how anyone can make an abstract design for an entire circuit board from scratch, it how to put one together.

This is Hacker News. Some knowledge of hardware is expected.

But I'll describe KiCad's workflow.

First, you draw a schematic diagram. This has blocks and symbols for all the components. You place part symbols, which come from a library. Part symbols have a reference ID such as "R15", which you have to set, and you can also set such information as the actual part number in a catalog, which will be used later. The part symbols library has most standard components, but you'll probably have to draw some symbols of your own. There's a draw program for drawing symbols for new components. (The schematic editor is OK, but the symbol drawing program is a crappy draw program.)

Then you run the design rule checker. This tells you if you forgot to connect a pin, or connected two outputs together. It's sort of like "lint" for schematics. It doesn't know anything about electronics; it's just a topology check.

Then you run a spreadsheet-like program which, for each part, assigns a "footprint" to that part. The "footprint" is the pattern of copper pads and holes on the PC board where that part goes. Many schematic symbols map to one footprint - all 8-pin SOIC-form packages have the same footprint, for example. Sometimes you need to add a new footprint, and there's a draw program for that, different from the schematic draw program. (It's a crappy draw program.)

After that, you click the "NET" icon, and the schematic program generates a netlist. This is a text file with just the part info and wiring topology. You can also get out a bill of materials (BOM) file at this point, for ordering parts.

Now PC board design begins. This is a separate program. You start by importing the netlist. There can be errors at this point - missing footprints and such. You may have to go back to the schematic editor. You can keep both open at once, change the schematic, and generate a new netlist.

At this point, you have a display showing all the parts spread out more or less randomly (there's an auto-place function which does this, not very well), with lines showing where connections are needed. The lines are just straight lines between things that need to be connected, not useful printed circuit board traces. This is called a "rat's nest". Now you drag parts around until you have a workable parts layout. (Some parts need to be close to other parts for electronics reasons. You may want connectors and such in specific places.)

Then comes connecting up the parts. There's an automatic routing program for this, but it's not very good. (That's what you pay the big bucks for in the high-end EDA systems.) Mostly you draw tracks of copper to connect up parts on the various board layers, and use vias, connecting holes through the board, to connect through layers. This is manual, but the program checks you - you can only connect things that the netlist says should be connected. The program won't let you make a wrong connection. There's also a design rule checker for clearances between wires and such. This is a slow, fussy process. Squeezing in all the tracks can be tough, and previous tracks may have to be moved. The tighter you design your board, the harder this is.

Once everything is connected properly, and the design rule checker says there are no problems, you generate "Gerber files" for each board layer, and a "drill file" which defines where holes go. These are industry-standard files. You send them to a board design service and boards come back in a few days. They're made by photo-etching and CNC drilling, and while it's possible to do this yourself, it's not worth the trouble because custom board fab runs now start around $21.

So that's how you make a basic PC board with KiCAD.

Re: KiCad: A commitment to freedom

#72
post #22

I visited the donation page and it costs about $500 for 1 developer to work on KiCad for 1 day. I do appreciate the transparency, but honestly I think my —small— donation would be used better in other free software projects unless I had some kind of vested interest in KiCad.

$500 a day is quite inexpensive for a competent developer. Perhaps you overestimate how far your donation will go.

this $500 a day is for a CERN INTERN. Not CV heavyweight with FB salary.

Re: KiCad: A commitment to freedom

#73
post #69

Earlier quoted context omitted.

> "Academics (in the UK) is there any effort towards making free-libre software available through collaboration of different institutes?" I don't work in that field, so I can't answer your question directly, but I can pass on that EAGLE, which is probably KiCad's closest competitor, is available for free for academic institutions: https://cadsoft.io/ https://en.m.wikipedia.org/wiki/EAGLE_(program)

I work in the field (another particle accelerator) and I'll tell you outright that a non-commercial license is a no-no for research institutes. We MUST be able to license the project for commercial parties to produce them, lest we have to support the project for its entire life-cycle, which can be decades. Also, a non-commercial license restrict sharing between labs, or even use for some entities that work as governm…

> "I'll tell you outright that a non-commercial license is a no-no for research institutes."

That makes no sense. Software licencing and product support are two completely different factors. You can have software support agreements with open-source software, that's how companies like Red Hat and Canonical make their money.

Re: KiCad: A commitment to freedom

#74
post #69

Earlier quoted context omitted.

I work in the field (another particle accelerator) and I'll tell you outright that a non-commercial license is a no-no for research institutes. We MUST be able to license the project for commercial parties to produce them, lest we have to support the project for its entire life-cycle, which can be decades. Also, a non-commercial license restrict sharing between labs, or even use for some entities that work as governm…

> "I'll tell you outright that a non-commercial license is a no-no for research institutes." That makes no sense. Software licencing and product support are two completely different factors. You can have software support agreements with open-source software, that's how companies like Red Hat and Canonical make their money.

I assure you it makes a lot of sense and is practiced by several labs from around the world.

Hardware is not software - you don't simply compile it in your computer. You don't pay other company to just do just give support to you: you license to them so they can tweak it, manufacture, and sell the hardware to you and other research labs.

Re: KiCad: A commitment to freedom

#75
post #4

> Today, KiCad is considered a mature tool for the design of Printed Circuit Boards, featuring some capabilities that match or exceed those of costly proprietary alternatives. Two weeks ago, we evaluated whether we ditch our current proprietary EDA tools in favor of KiCad (my company designs and builds satellite electronics). We liked the user interface (it's not good, but better than the "professional" alternatives)…

I also did some review of many EDA tools. Sadly, KiCad is absolutely the worst I've tried in terms of UX. I guess many's favorites are Altium Designer. I just hope there is one Open Source solution that is similar to Alitum Designer. What they charge is restricting innovation from happening.

>I just hope there is one Open Source solution that is similar to Alitum Designer.

There almost assuredly isn't. I've looked far and wide for such a piece of software and have been unable to find it, and and EDA being such a huge software endeavor, I doubt there is some guy in some corner of the internet working hard on a full featured EDA that just hasn't been "noticed" yet.

Re: KiCad: A commitment to freedom

#76
post #56
post #4

> Today, KiCad is considered a mature tool for the design of Printed Circuit Boards, featuring some capabilities that match or exceed those of costly proprietary alternatives. Two weeks ago, we evaluated whether we ditch our current proprietary EDA tools in favor of KiCad (my company designs and builds satellite electronics). We liked the user interface (it's not good, but better than the "professional" alternatives)…

Let me present a counter-opinion. I found KiCad to be surprisingly useful, not for super-complex boards, but for significantly more than just the simplest of projects (I'm using it for four-layer boards with controlled impedance tracks and differential pairs). Yes, there are bugs and annoyances. But not enough to shell out 6kEUR or so for the next step up in EDA tools (which would be Altium Designer, and I'm not even…

Probably my biggest annoyance with OpenGL mode is that it completely changes the UI logic form standard mode (arguably it makes the interface more Windows-like, or probably Altium-like). The standard mode UI is weird but surprisingly usable so I tend to do most of the layout work in standard mode and only switch to OpenGL to use push-and-shove to avoid major ripup-and-reroute cases and for diff-pairs/length matching.

Re: KiCad: A commitment to freedom

#77

gEDA the GNU EDA tools have bern around a lot longer and I use that. It is worth checking out.

A long time ago, I used the GNU PCB tool to design a flex circuit. I ended up having to hand edit the gerber files to get the project done because it didn't support changing soldermask opening. I think they've changed it since then, but it was rough for awhile.

I've used GNU PCB and gschem extensively. While there's a definite learning curve, I've found them very usable and produced many boards with great success. Like you say, maybe you hit some issues that have since been fixed, but this is another datapoint. As for kicad, it came into existence after I was relatively proficient with gEDA, and it there never were any compelling reasons to switch.

Re: KiCad: A commitment to freedom

#78
post #56
post #4

> Today, KiCad is considered a mature tool for the design of Printed Circuit Boards, featuring some capabilities that match or exceed those of costly proprietary alternatives. Two weeks ago, we evaluated whether we ditch our current proprietary EDA tools in favor of KiCad (my company designs and builds satellite electronics). We liked the user interface (it's not good, but better than the "professional" alternatives)…

Let me present a counter-opinion. I found KiCad to be surprisingly useful, not for super-complex boards, but for significantly more than just the simplest of projects (I'm using it for four-layer boards with controlled impedance tracks and differential pairs). Yes, there are bugs and annoyances. But not enough to shell out 6kEUR or so for the next step up in EDA tools (which would be Altium Designer, and I'm not even…

> But not enough to shell out 6kEUR or so for the next step up in EDA tools (which would be Altium Designer, and I'm not even mentioning the maintenance fees, just the initial payment).

These days Altium have both CircuitMaker, which is free with limitations, and CircuitStudio which is like 900€.

Re: KiCad: A commitment to freedom

#79
post #62

Earlier quoted context omitted.

Can you respond to the specific criticisms of OP then?

Not every discussion has a winner and I'm not Kicad's lawyer. I'm just honestly adding to the discussion, not trying to "win" a debate or anything.

That was not what I was inferring, I was just geniously interested in counterpoints.

Re: KiCad: A commitment to freedom

#80
post #54
post #41

Earlier quoted context omitted.

I think "decisions" is too strong a word. The UI is heinously inconsistent, and feels like a bunch of similar tools were crowbarred into a box and called an application. It's usable once you pick a semi-coherent subset of features and then ignore the rest, but it takes a lot of trial and error to figure that out. Available features and even hotkeys change depending on what 'rendering engine' you choose? What? Not to…

I agree 100%. That said, have you used Orcad? When I use it, it also "feels like a bunch of similar tools were crowbarred into a box and called an application". From what I heard, the reason for that is that different tools where actually bought up and bundled together. EDA tools are terrible across the board; I wonder why that is the case.

I think the problem is that it's rare to find skilled software developers who are also skilled hardware designers (at the professional level, a lot of hobbyists do both). So you don't get much quality dogfooding going on. Either the tools are developed by hardware engineers, and the workflow is efficient but the software is slow and buggy and the UI is inconsistent, or they're developed by software engineers, and so it technically does what you need but the workflow is terrible.
Post reply on HN