Hacker News new | past | comments | ask | show | jobs | submit login
KiCad: A commitment to freedom (cern.ch)
223 points by cheiVia0 on Oct 15, 2016 | hide | past | favorite | 83 comments



> 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), the gradual learning curve, and the plain-text project files. Plus, we're big fans of OSS.

But KiCad has a lot of conceptual baggage: The way tracks, vias and copper zones are handled requires work-arounds and band-aids even for routine tasks (this has been known for two years at least), with not simple fix in sight.

The PCB editor has three display modes: Legacy, OpenGL, and Cairo, with different features (unrelated to graphical representation) available in different modes, so you have to switch between them from time to time (this also hints at a lack of separation between graphics and program logic).

There's a bug that prevents laying tracks closer than 0.2mm to each other (only in OpenGL mode – Legacy mode doesn't care). The "Clean-up tracks and vias" function deleted some definitely non-redundant tracks, which I only noticed thanks to the DRC (though a DRC cannot and will not catch everything).

Our conclusion was that for hobby projects and very simple professional PCBs, KiCad is a great tool, but it's just not enough for even slightly demanding projects (and I'm not even talking about high-frequency design, EMI analysis, and multi-person projects).

The developers seem to prefer working on interesting new features like the push-and-shove router, instead of fixing the basics. Which is fine – it's an open-source project and they're entitled to work on whatever they feel like. But unfortunately, this is not how you get to a "mature tool". I wish them all the best, and we'll take a look at KiCad again from time to time.

Preemptive reply to "why don't you contribute to it?": We thought about donating to the project, but the amount of money we spend on professional EDA tools per year would only buy us about 10 day of KiCad developer time (or in-house developer time) – by far not enough to fix all show-stoppers.


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 mentioning the maintenance fees, just the initial payment). For our business it simply doesn't make sense to spend that money given how well KiCad does its job.

Going into details — I only use the OpenGL mode, ever (because of the push&shove router). These are the things I would like fixed/improved:

— copper plane handling: copper planes from different nets do not avoid each other, which should be considered a bug,

— push&shove router will happily push around my carefully placed differential pairs, breaking their alignment, and NOT TELL ME ABOUT IT (the last part is the worst),

— DRC doesn't check diff pairs,

— I'd like to see easier via stitching.

The rest are inconveniences, which every CAD package has.

Also, most of this discussion focuses on PCB design. It is worth mentioning that the schematic drawing is pretty well done, and the resulting schematics look good. Also, the idea of associating footprints separately from schematic symbols is a very good one and lets me reuse footprints better.

Overall, I found KiCad to be perfectly suitable for nearly all hobby projects, and very capable for professional work, although with some caveats, and not for everything out there. I think I would not try to use it to route high-speed boards with more than 6 layers.

Let's also look at this from a different perspective: these days, as a hobbyist, I can simply start DOING electronics and easily get to 4-layer controlled impedance designs. Given the wonderful chips that are available these days and the availability of services like OSHpark and OSHstencils, this means you can really do impressive stuff, without spending anything on EDA tools. The upfront start-up cost is zero. This is fantastic and is a great achievement of the KiCad team. I am very grateful for that.


I basically agree with everything you said, and I don't think we contradict each other. If I were to start an electronics company today, I would almost certainly choose KiCad and use it until I had some serious revenue.

But if demanding electronics are your bread and butter and you have several million Euro revenue per year, saving a couple thousand Euro in license fees by not having a professional EDA tool is hard to justify. KiCad just isn't there yet, though it might be in a few years.


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.


What do you need the standard mode for? Serious question — I actually never used it, I only stay in OpenGL mode, so I don't know what I'm missing?


> 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€.


> Our conclusion was that for hobby projects and very simple professional PCBs, KiCad is a great tool, but it's just not enough for even slightly demanding projects (and I'm not even talking about high-frequency design, EMI analysis, and multi-person projects).

You are entitled to your opinion, and surely there are more advanced tools, but lots of people do high-frequency design using Kicad. HackRF, from Michael Ossman, is a SDR board entirely built in Kicad [1].

Heck, I've done nice, complex high-density, high-speed FPGA-based boards in Kicad. It's still not at the high leagues, but I wouldn't dismiss it as only an option for hobbyists and simple PCBs. I, personally, find it much better than Eagle, and I'm not the only one.

[1] https://greatscottgadgets.com/hackrf/


I'm not sure I'd hold up Eagle high as a bar to beat.


Eagle may not be a high bar to beat but it is a commercial product that in my experience KiCAD has exceeded.


It surely isn't, but is a commercial product that get much less heat then Kicad.


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.


I didn't say that it's impossible to do these things in KiCad, it's rather that KiCad doesn't offer a lot of assistance for those scenarios. In the extreme case, you can design your PCB by hand-writing the Gerber files, but the point of an EDA tool is that it should handle the automatable stuff.


I agree that it has wide room for improvements, but I still find it very comparable to Eagle, for example.

But it is in a steady improvement route, while operating in a much harder segment to attract the resources they need than most free/open-source projects: their best users aren't high-level programmers, neither UX experts, and UX experts and high-level programmers aren't their typical users[1].

I still use Altium for my most complex designs, even for reasons beyong those you've posted, but it surely can be used for professional projects beyond the simplest ones, even taking advantage of the automation by learning a few simple patterns.

[1] Except, of course, by coincidence. As a primarily hardware engineer, I'm trying to help by re-learning desktop programming, something I haven't done in years.


> The developers seem to prefer working on interesting new features like the push-and-shove router, instead of fixing the basics

Yeah, that's the problem with several open-source products. But the boring parts are needed a lot of times

Also the usability aspects that were mentioned and several open-source projects suffer from it (and whenever someone tries to fix it is usually shunned)


How many projects across CERN do you think would use KiCad if it were somewhat knocked shape?

Going OT but staying on this theme: It seems likely that public money across many governments is spent on closed source software for circuit design. Even probably across the projects in a single developed country I imagine it might be an economy to pay for the software to be modified. Such changes then being a gift to society at large.

What do electronic engineering students use at present - presumably a range of CAD systems, but is KiCad up there?

Academics (in the UK) is there any effort towards making free-libre software available through collaboration of different institutes?


> "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 recently did a short electronics course (I made a PIC-based board from surface mount electronics! Without sneezing!), and we did the PCB design stage in EAGLE, and it was basically buggy as hell. We were recommend to keep saving in case it crashed (it did), and if bits of our design appeared to mysteriously vanish, we should change the zoom level to see if they came back, due to render bugs...

They also suggested EasyEDA:

https://easyeda.com/editor

...which is a free online PCB layout program. I played with it for about five minutes but not much more than that. It's got an autorouter but I haven't found an autoplacer tool (although EAGLE didn't have one either).

Anyone know this? Is it any good?


EAGLE is terrible. It is not only bizarre and unnecessarily complex, but also buggy. It is free, but only for the smallest of projects, and if you get to a certain board size or a number of layers, it suddenly becomes quite expensive.

In my opinion, KiCad is already better than EAGLE even not taking the price into account.


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 government contractors.


> "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.


> Also, a non-commercial license restrict sharing between labs, or even use for some entities that work as government contractors.

That is one of the more bizarre things I've read here. You are saying an licence whose terms explicit permit copying for free are worse at sharing than licences that forbid it doing sharing it, ever.

> 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.

That's just weird. The people who maintain my car didn't make it, the people who supply me my email didn't design it, the people who run my government don't own it. All the software I run has security patches supplied within hours, for free, by people who didn't write it and don't own it. And yes, they are faster and break less than their commercial "upgrade to the new version" counterparts.

You and your labs live in an alternate universe to me, my friend.


Yes, I live in the high-complexity, low-volume hardware universe. Quite different from cars and software.


> "You don't pay other company to just do just give support to you: you license to them so they can tweak it"

Open-source support companies can still tweak the software for you, and are free to do so because of the permissive licences.

Take a look at the business model section of Red Hat's Wikipedia page:

https://en.m.wikipedia.org/wiki/Red_Hat


Does this definitely extend to UK academics? They mention a .edu address is required, and I didn't hear back after applying with a .ac.uk address.


I assumed it did, but perhaps it doesn't.


> Preemptive reply to "why don't you contribute to it?": We thought about donating to the project, but the amount of money we spend on professional EDA tools per year would only buy us about 10 day of KiCad developer time (or in-house developer time) – by far not enough to fix all show-stoppers.

I’m not sure I follow. Are you saying you chose to not donate at all because you think your donation wouldn’t make any difference? In my experience, for many FOSS project standards, any contribution that can buy even a day of developer time would be considered huge. I’m sure KiCad would welcome any amount of donation :).


No, that's not what was being said.

The options on the table are:

1. Pay the licencing fees for proprietary software that already does what you want it to do.

2. Sponsor development of an open-source project so that it will eventually do what you want it to do.

The argument being made is that, in the case of KiCad and this particular institution, option 1 was seen to be cheaper than option 2. In other words, it was deemed to be cheaper to pay the licence costs for the proprietary solution than it would be to pay a developer to make KiCad fit in with what they wanted.


it sounds like they'd be happy donating some amount comparable to the cost of current tools if the donations would result in the project being made usable for them.

it's not about it making a difference or not to the project, it's about it resulting in a sufficiently improved tool that they can use and get some ROI on


Solution is dominant assurance contracts, see https://en.wikipedia.org/wiki/Assurance_contract#Dominant_as...


How would that work in practice in this case? Note that the contract would most likely be with an individual developer, not the project itself.


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.


I wonder if their approach can be simulated without being sued for a.patent infringement.


That sounds like a list of the bugs from some commercial ECAD software I've used in the past.

Anyone remember PADS2000? Die die die!


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.


Forget about the terminology for a second.

If you want to get a general understanding of circuit design, think about it in terms of connecting points. The London tube network is a good analogy for this. When starting out designing a circuit, you think only of which points need to be joined together. This is similar to the simplified tube map that many people are familiar with:

http://www.bbc.co.uk/london/travel/downloads/tube_map.html

However, that map only represents a simplified version. The real geographical map looks more like this (this is still simplified as it doesn't show information about the height/depth of the tracks):

http://www.tubemapcentral.com/mythset/geomap.jpg

It's the same with circuit design. You start off with a simplified version, but the physical version is frequently more complicated because you have to work over multiple 'layers' in order to stop wires that cross over each other that shouldn't be connected from touching each other. That's where things like 'vias' come into play (vias are the points at which layers of a circuit board are connected to each other).


> 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.

I do not understand what you're trying to say.


(Comment moved up in tree as requested.)


Well, I do know a Greek guy who has done some PCB design...

https://www.stavros.io/posts/emergency-food-button/


As someone who has been in the PCB industry for the past decade, it has been fascinating to watch how quickly KiCad came out of nowhere and quickly gained adoption as soon as CERN started contributing. After spending years in the software development of capture/simulation/layout tools for PCBs, I have come to see that these tools are not easy to create and maintain. Most products in the market are the product of decades of work.

We added KiCad support for our libraries on SnapEDA about a year ago, and now it's the 4th most popular tool on there with about 10% using it (after Altium, Eagle, and OrCAD/Allegro). When we talk to KiCad users, many are startups. However, I recently spoke with an engineer at a major defense contractor who uses Mentor Expedition at work and KiCad outside of his job. This is a sophisticated engineer who has chosen KiCad over the many free options available in the market. I had the same experience with another engineer at a medical device company using Allegro at work, and KiCad on the side. KiCad may not be as fully featured as the others, but it's being chosen as the next best alternative to these high-cost tools.

I agree that the UX is very quirky but EDA tools in general (other than Altium) traditionally have quirky interfaces.


Thank you for adding KiCad! I was really excited when I saw that SnapEDA added support. Doing manual parts is always tedious in any tool, and KiCad is lacking automated generators for some of these - previously, I had been using an online PHP(?) tool to generate large pin count parts. The SnapEDA license is also OSHW compatible, so it makes it a no-brainer.

I also first tried KiCad when I no longer had access to an Altium license for personal projects, and it's been pretty smooth sailing. I imagine the choice would be even more obvious for users coming from any of the other, worse tools. One other advantage is that I don't need to run a Windows VM for it. I even did a PCB design on a Novena, which I suppose made it second-generation OSHW.


If you live in Brazil (or is willing to come), and want to contribute to Kicad, São Paulo will host a Kicad hackaton as part of an Open Hardware Summit:

http://www.e-hal.org.br/ (english version: http://www.e-hal.org.br/en)

Javier Serrano, the author of this post, will be there, as will Thomas and Maciej, two Kicad developers from CERN. The Kicad Hackaton will not be the only activity, there are lots of open hardware activities through the three days of summit. And lots of fun!


Any similar events planned at CERN? :)


Everyone who doesn't do PCB design will probably find this a great idea.

People who design PCBs will probably wonder when KiCad is going to fix the horrific UX bugs, and go back to using Altium or Eagle in the meantime.

KiCad is the StarOffice of the PCB design world. I want to use it, but I can't justify the time working around KiCad's UX issues.


I do PCB design, mostly in Altium, and I'll even add that some of my designs are of relatively high complexity.

Saying that Kicad interface is horrendous compared with Eagle is, to say the least, disingenuous. Eagle has a terrible interface, lots of limitations, and a very strange mental model for design.

Kicad is still far from perfection, and I do believe that the UX must improve. But even the best tool in this aspect - IMO, Altium - suffers from a lot of other issues.


KiCad is the StarOffice of the PCB design world.

That's a good comment. There are two basic classes of UI problems with KiCAD. First, there are the ones that are just classic menu-and-button bad design. The schematic library and footprint library editors have a confusing set of menus and buttons to do what's really a simple open/close/new/save task. There are lots of discussions on forums about this. Those need a rethink of the library UI, a clear design document, and a modest amount of implementation. If that got fixed, the initial KiCAD complaint level would go way down.

The second set of problems is harder. They're in the programs for graphical design. There are four of those - schematic drawing, schematic symbol design, board layout, and board footprint design. Schematic drawing isn't too bad. It has some strange bugs - there's a convention in schematics that you put a dot where wires connect at a 3 or 4 way connection. (Wires which just cross don't connect.) Most schematic drawing programs handle this automatically. KiCAD almost does, but it's possible for a connection dot to become detached from wires, or for wires to connect without a connection dot. This might result in a bad netlist, which matters. A few bug fixes there would be enough to fix up that part of the system.

The schematic symbol and board footprint editors are just really clunky draw programs. They work, but lack basic features such as grouping and cut and paste. Those wouldn't be that hard to fix. Fixing that, plus the library editor UI, would help the project a lot, because KiCAD needs a bigger symbol and footprint library, and you want users to contribute those. Frustrating contributors hurts the project.

The actual board layout program is the hardest problem. Others have written about this. There are some very strange features. There are three graphics modes (classic, OpenGL, and something else). Menu items which have nothing to do with display, such as component auto-placement, change with the mode. You can't automatically spread out components in OpenGL mode. The menu item just isn't there. (Not even greyed out, just gone.) There are also some functions hidden in dialogs under menus which ought to be more visible.

The "Help" menu item just loads a PDF of the tutorial, which isn't too useful.

All this stuff is fixable, but probably not via "hackathons". A UI design document is needed. That's always useful; when the UI design document has to explain some badly designed feature at great length, it's clear there's a problem. Write down exactly how all the schematic symbol and footprint library update functions work, and the mess will be revealed.


Maybe it's because I haven't used any other packages, but I've used KiCAD and love it. I haven't found the tool itself especially hard (although there were a few Wtf moments at the start related to the different graphical modes having different capabilities), but, overall, 95% of the curve was learning the actual design principles, rather than the tool.

It took me a few hours to go from never having used any PCB design programs to a simple finished board with KiCAD.


I switched from Eagle to KiCad and I find the user interface to be significantly better in KiCad. I can't imagine someone switching the other way.


Have been using KiCad for PCB development for my hardware startup and overall happy with the choice.

Yes, they have made questionable UX decisions in development but then I've not tried an EDA tool that got the UX right. For those considering KiCad, but struggling to do it by themselves, I suggest you either take a Udemy course to show you the user flow. Or better yet, buy some tuition (with beer or whatnot) from someone at the local hackspace or similar.


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 mention that the interface conventions between parts editor, schematic editor, footprint editor, and layout editor vary significantly for no good reason.


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.


For those interested, here's an interesting open hardware@cern from javier serrano, the head of development for kikad in cern.

https://www.slideshare.net/mobile/goshcommunity/open-hardwar...


Honest question that might come off as stupid but, doesn't CERN have a huge budget? I imagine supporting this project can be a reasonable budget entry, why are they asking for donations?


CERN's budget is ~1B USD, which is 5% of NASA's, 25% of ESA's. And I won't even get started with Silicon Valley big corps.

Considering you have to pay for an electricity bill equivalent to 1/3 of Geneva and the salaries of >3000 people in one of Europe's most expensive urban areas, I wouldn't say there's a lot of money left to invest in pretty much anything.

Source: * https://press.cern/facts-and-figures/budget-overview * https://home.cern/about/engineering/powering-cern


Not really.

It might seen huge from the outside, but what each department gets is very different from those numbers.

CERN has the same issues as any research institution.

When I was there it was common to say that it felt just like being at the university without the lectures and exams part.


The CERN budget is split over multiple projects. Also, budget + donations > budget. Lastly, by opening this up for contributions more people can feel part of the push for improvements to KiCad.


Just used KiCad to design a guitar amplifier, really happy with it.

Now I'm designing a PCB, and what's lacking is good part placing and trace routing. I feel like there should be a an algorithmic way to do what I'm doing by hand. It sort of reminds me of the traveling salesman problem.


These are called autoplace and autoroute.

They exist, but NONE of the PCB designers I have worked with, all of who have worked at multiple big name tech companies and still do, use these tools.

Do the work. Even something as simple at a guitar amplifier needs attention to detail, to route ground currents away from where they can cause noise. Even something as simple as a guitar amplifier needs attention to the current handling needs of individual traces. Even something as simple as a guitar amplifier needs attention to the detail of proper component placement to minimize inductance where necessary between bypass caps and their associated IC's. DO THE WORK!


:) Thank you for the encouragement. That's good information to know. I've got a hand wired prototype, and it seems to work ok, so my PCB is going to be similar.

That's one nice about (tube) guitar amplifiers: max current is at the power supply pin, about 72ma, despite transferring 27w or so. So your voltages are pretty high , but your traces can be pretty thin. The big thing is leaving plenty of space to prevent arcs.


You also need to allow for failure conditions. If a power tube fails as a short or low impedance, which will vaporise first: your thin tracks, or your fuse?


It is not the travelling salesman problem. I think it is: https://en.wikipedia.org/wiki/Steiner_tree_problem


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.


10k/month is inexpensive? That's a SV engineer salary. With open source software you can have extremely competent developers from anywhere in the world. Someone in Brazil for example would be thrilled to be paid US$50-100/day, or even less, to work on OSS.


Not really. As a rule of thumb, a person at a moderately lean company costs two times their salary. A person working for the government costs around three times. The rest of that money goes to overhead, benefits, and taxes.

More specifically, say that $10k a month went directly to someone working at home who files their taxes as a sole-proprietor. That income puts the high end of their income in the 28% tax bracket, but most of it is in the 25% bracket. Payroll tax (FICA) will take 15.3% off the top. State income tax varies, but I live in one that's about 5%. Then, depending where you are, there's gross receipts tax, which is about 7% where I live. Add that all together, that's 52% of that money lost. We'll round that to 50%, so now we're at $5k/month, or $60k a year. Not bad, except we don't have insurance. Health insurance premiums depend on a lot of factors, but I was seeing about $500/month or $6000/year. Then, the out of pocket max was $3000, so we need to budget that number. Note premimums are not tax deductible. That brings us down to $51k. Also, we haven't saved for retirement. Reasonable companies contribute to 401k at 10%, which would be $12k for our developer. Most people should probably put in more, but that looks fine, so now we're at $39k. Yes, there's a tax deduction for a 401k or IRA, which I ignored, but it doesn't affect these numbers by a huge amount.

Now, let's take the person working for the company at that salary level. Income tax still applies, but half the payroll tax goes to the company, so we're at 25+15.3/2+5=38% rounding up, or $74.4k. We still pay health insurance premiums, but the last place I worked had them at $100/month, that puts us at $73,200, or $70,200 if we cover our out of pocket max. Also, the company pays that portion of the retirement.

In total, $39k vs $73.2k, or almost half. That's a steal for a developer.

And, yes, this is overkill for a response, but I don't think many people realize how much money independent contractors lose to expenses and overhead. Yes, there are lifestyle perks and the potential to make more money. Most of the time, you make far, far less even though your hourly rate makes it look like you make far more.

tldr; Hiring a KiCAD developer for that amount is cheap and an amazing deal if they know what they're doing.


It's an SV engineers salary, but it's probably not an SV contractors salary. Contractors have overheads and inconsistent work, 500USD a day is reasonable.

I would also assume their contractors are fully up to speed with the project, it's not reasonable to compare them to an unknown developer in Brazil.


> [500/day] is inexpensive?

It is, especially for someone who doesn't work every day, and has to cover their own health insurance. If you're willing to pay someone by the month or by the year and put them on the company insurance plan, I'd imagine you'd get a better rate.


Not in most of the real world outside of that crazy SF bubble.


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


Where have you heard this? When I asked the CERN group they said they planned to hire a contractor with the donations. The CERN interns already regularly work on KiCad.


Fantastic initiative. It's amazing how much CERN has contributed back to society over the years...


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.


I'm pretty much in the same place. I have gEDA symbol and footprint libraries that I like, and the cost of redoing those and climbing the learning curve for KiCAD isn't justified. Many of my friends use KiCAD, and it seems both have issues, just in different places. I've looked at the KiCAD footprint library format, and it is a sad mess. Of course, gEDA's footprint library format also has limitations of probably equal measure.

In any case, I've done many rigid PCBs and one flex PCB with gEDA and never had to resort to hand-editing files. That said, I have written my own footprint creation tools to get exactly what I want. That up-front cost is part of getting either KiCAD or gEDA to yield the desired results.

As in many things about EDA, libraries are the speed bump that repeatedly jars your brain case.


This was over 10 years ago.


Yes, thungs have changed a lot in 10 years. Not enough, though. But it is definately possible to do good work in either gEDA or KiCAD.


[flagged]


How is that related to the development of KiCad in a meaningful way?




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: