8 ms·
> Today, KiCad is considered a mature tool for the design of Printed Circuit Boards, featuring some capabilities that match or exceed those of costly proprietar
by adwn 10y ago
> 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.
- raverbashing 10y ago> 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)
- tinganho 10y agoI 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.
- nine_k 10y agoI wonder if their approach can be simulated without being sued for a.patent infringement.
- spott 10y ago>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.
- pbhjpbhj 10y agoHow 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?
- ZenoArrow 10y ago> "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://cadsoft.io/ https://en.m.wikipedia.org/wiki/EAGLE_(program) https://en.m.wikipedia.org/wiki/EAGLE_(program)
- alepper 10y agoDoes 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.
- ZenoArrow 10y agoI assumed it did, but perhaps it doesn't.
- david-given 10y agoI 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 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?
- jpcookie 10y agoMost 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.
- adwn 10y ago> 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.
- Animats 10y ago(Comment moved up in tree as requested.)
- deleted 10y ago[deleted]
- ZenoArrow 10y agoForget 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 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 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).
- secure 10y ago> 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 :).
- ZenoArrow 10y agoNo, 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.
- shoo 10y agoit 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
- kanzure 10y agoSolution is dominant assurance contracts, see https://en.wikipedia.org/wiki/Assurance_contract#Dominant_assurance_contracts https://en.wikipedia.org/wiki/Assurance_contract#Dominant_as...
- ZenoArrow 10y agoHow would that work in practice in this case? Note that the contract would most likely be with an individual developer, not the project itself.
- aylons 10y ago> 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/ https://greatscottgadgets.com/hackrf/
- vvanders 10y agoI'm not sure I'd hold up Eagle high as a bar to beat.
- the_duke 10y agoCan you respond to the specific criticisms of OP then?
- aylons 10y agoNot 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.
- 10y ago
- rwmj 10y agoThat sounds like a list of the bugs from some commercial ECAD software I've used in the past. Anyone remember PADS2000? Die die die!
- jwr 10y agoLet 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.
- adwn 10y agoI 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.