Our KiCad EDA experience with ATX breakout v2

in Editorial by DP | 76 comments

Last week we used the open source circuit design and PCB layout program KiCad to design version 2 of the ATX Breakout Board. This came as a necessity because the free version of Eagle is restricted to 100mm x 80mm PCBs, and the current ATX breakout already uses all that space.

Read our likes, dislikes, and general comments on using KiCad below.

Things we liked about KiCad

First and foremost it’s open source, which goes hand in hand with the open hardware we like to make. All the features of the software are unlocked so there’s absolutely no limitations like we experience with Eagle.

Built-in 3D previews are nice. They make it easy to inspect the silkscreen. We need to play around with it some more. Maybe learn how to add custom 3D components, and possibly export the models to a rendering engine.

Traces and pads have readable names. KiCad gives you an option to view these, lets you see which signal you’re routing, as well as the surrounding traces. This makes it easier to avoid routing close to, or underneath, certain signals. This would be particularly helpful when routing signals like USB data lines.

Things we didn’t like so much

No screen panning via the mouse. In Eagle just hold the middle mouse button to move the screen around, in KiCad you have to hold down the F4 button. This was not an easy thing to adjust to.

Minor adjustments to a schematic after starting the board are a nightmare. You have to create a new netlist, loading it into the PCB editor, and update the PCB connections. This gets very tedious with our team-based iterative design process.

Placing vias on polygons/planes is too complicated, such as vias to join ground planes. You have to trace each via to an already existing trace or pad and connect to it.

Random observations

The footprint creator Y axis is inverted, negative is up and positive is down.

Another thing to note is that KiCad doesn’t have a command console. Placing components at exact coordinates is rather complicated, and requires frequent grid alterations.

KiCad plot

This is our configuration of the gerber export utility, setup to satisfy our PCB fab’s (Seeed Studio) requirements. It includes the top and bottom copper, top and bottom solder stop mask, top and bottom Silk, and NC drill file.

Here’s the drill configuration, make sure you have no non-plated pads. This is because KiCad will create two NC drill files, one for plated through-hole pads and one for non-plated. So far we haven’t figured out how to combine them successfully.

KiCad drill files are named .drl, we rename them to .txt as per Seeed’s requirements.

Our conclusion

KiCad is more usable than the last time we tried it, but it would have been suitable to make the ATX breakout v2 board then too. Though we want to abandon Eagle for open source goodness, KiCad isn’t that alternative today.

We’d like to say that the open source nature of KiCad means it will all get worked out in the end. But, we’ve been rooting for KiCad for years and it’s still ages behind a flexible modern CAD program like Eagle. That’s not an insult, CAD programs are a monumental undertaking, and we certainly give the KiCad team props for making usable EDA software.

While we aren’t ready to move to KiCad today, it could happen eventually. When integration between schematic and board is more fluid, and there’s a command console for easier positioning, we’ll throw Eagle to the ditch in a heartbeat.

This entry was posted in Editorial and tagged , .

Comments

  1. Brian says:

    These are fair remarks. It don’t mind that you can’t change the PCB and have the changes flow back to the schematic but it does require a lot of clicks to update. I don’t see that changing given the complex import dialog for the netlist though perhaps they could enable a one click pass through with some project defaults.

    I’m still using an older version but KiCAD needs a better standard library. I would be totally fine with a complete passives library. There really is no excuse for not having a good footprint for very kind of common cap. That said I often don’t trust build in libraries anyway.

    One of my main aggravations with KiCAD is when I update a netlist which has different trace rules and some of those are assigned to numerical nets. Because the PCB tool doesn’t know these are different nets now it doesn’t keep the categories straight. You can of course give your own labels to all the wires and it would keep it straight but that’s a bit tedious.

  2. I used to think you had a commercial Eagle license.

    • ewertz says:

      There is a $69USD version that is for commercial use that has the same restrictions as the Freeware version (80x100mm, 2-layers, one schematic page). I’m guessing that this is what DP is using. This pricing isn’t unreasonable, although it sure would be nice if it were 100x100mm (to match Seeed’s/ITead’s classic PCB size limit).

      Makes me want to see what it would take to make a Gerber stitcher. I’ll put this into my queue of things to look at (where it will never be heard from again :-( ).

      • oliver says:

        DP is luckly still trying to develop opensource hardware. If they’d use a commercial version of eagle, that allowed bigger PCB’s, how would anybody without the commercial version load/edit/use those schematics. While yes, the schematics are available, nobody would be able to look/use them. So I’m not supprised at all, that DP uses the free version of eagle, as that is what most others are using too.

      • ewertz says:

        I believe that you can view arbitrarily-sized Eagle docs with the free version, you just can’t modify them.

      • You’re right, I forgot the Light version has same restrictions (besides allowed to be used in commercial applications) as the Freeware one. Wish it could be extended in size just as the Standard/Hobbyist version, while maintaining all other restrictions.

      • Ian says:

        Yes, since we make money we have commercial licenses. It has the same limits as the free version. I wouldn’t use the bigger versions because it locks other people out of editing the board themselves.

      • Ian says:

        I wanted to add – is it $69 now? I think it was $49 the last time I ordered one :)

  3. Doub says:

    You sound a bit harsh with EAGLE. It’s not that bad :-)

    Have you considered trying to scale everything down to work around the EAGLE size limitation? For example instead of making a board 10 inches wide, you make it 10 millimeters wide. This requires scaling all libraries down, and then scaling the output gerber files up. But this can be automated with a few basic scripts.

    • ewertz says:

      So sick — I was thinking the same thing after I read this (although I was thinking more along the lines of 1/4 size components)!

      The only obvious catch would be having a Gerber mangler that could scale-up the output appropriately (and give bonus points for getting rid of all of the pixelation artifacts by anti-aliasing).

      I don’t feel at all like Eagle was being harshed-on. Most people (without mechanical CAD backgrounds) are pretty positive on Eagle. At least they’re making an effort to be affordable to small-fry commercial users, whereas almost noone else even makes a decent effort Altium.

      For what I tend to do, the infrequent (but existent) possibility of using a similarly-but-differently-restricted version of DipTrace doesn’t warrant the extra effort learning to flog yet another ECAD program. I’m guessing that DipTrace would work for the ATX boards because of its limited complexity (restricted by connections, not size).

      I was very much looking forward to reading about this DP vs. Kicad battle. Thanks guy(s).

      • ewertz says:

        “Altium” was auto-filtered out from “(cough)Altium(/cough)” but with angle-brackets rather than parens… probably not obvious from the result.

  4. David says:

    You don’t supposed to be using Eagle free version if you are making profit out from your designs, so switch to Kicad from now on.

  5. JBeale says:

    Even if you do have a commercial Eagle license, it’s hard to do really open-hardware projects beyond the “free” limits, because only other Eagle commercial licensees could work with your CAD files. For open hardware to live up to the name, ideally you would use a tool that others can also use in the same way you are. Just like most open-source software uses the GCC compiler, instead of proprietary alternatives.

  6. f4eru says:

    I like Kicad more than eagle.
    Even use it profesionally now for quite complex assy’s in series

    Yes, it still has a lot of quirks, but, as with many cad packages, you get around it quickly…

  7. oliver says:

    I have very very VERY limited eda knowledge. I played with eagle years ago and designed a really small PCB in gEDA (See forum). I know everybody has their own workflow etc. but for me it was perfectly easy, to update the schema in gschem whenever there where changes to be done on the pcb, save and re-load the file in pcb with the new changes.

    So how does kicad make this all very hard and difficult?

  8. boz says:

    Yes KiCAD takes a bit of getting used to but I’ve been using it for 4 months now and it kind of grows on you after a while especially once you’ve got your favourite libraries converted over. Bit difficult to remember Eagle if you have to go back to it after an abscence.

    Eagle still rocks though and there’s not many boards I produce these days over 60×100 now I’ve moved to SMD so I’m guessing that limit is becoming less important and it does focus you on squeezing it on a smaller board (and smaller = cheaper to make)

    PS: I love watching the KiCAD Auto-router add-in work !

  9. asdf says:

    The current version of KiCad is totally useless if you’re doing a metric design. All coordinates are stored internally in imperial units using far too low precision, so you end up with with lots of 0.00-0.03 mm runt traces due to bad rounding which interfere with routing. There’s a menu command to clean them up, but you have to run it constantly.

    The editing tools are also a bit rudimentary, and there’s no dimensioning/measurement tools.

    • asdf says:

      Ooh, another thing KiCad desperately needs is a snap override modifier key. Trying to route eg. a track bend inside a via’s snap radius is impossible. Instead you have to delete the via, route the track and re-add the via.

      The schematic editor’s DRC tool also keeps insisting that random signals are unconnected, with different results each time the tool is re-run. The PCB editor also keeps claiming some tracks are not connected, but that seems to be mostly down to those 0.0 mm track stubs it keeps littering all over the place. However even after cleaning those up, in my last project there was still one rat’s nest line that simply refused to go away. The actual board worked fine, but what good are checking tools you can’t trust?

  10. JBeale says:

    “You have to create a new netlist, loading it into the PCB editor, and update the PCB connections.” That’s what I always do with my Orcad Schematic -> PADS Layout setup here at work, and those are standard pro design tools (at least in this area). I’ve used KiCad at home and it works OK for me, although I’ve never tried to do a metric layout. Better scrolling options would be nice (seems like it would be an easy change to make?) A better standard parts library would be good also. FYI there is a Kicad user group here: http://tech.groups.yahoo.com/group/kicad-users/
    According to http://www.kicad-pcb.org/display/DEV/KiCad+Development they are moving to units of nanometers, so that might help with English/Metric issues.

  11. @DP: Have you tried to click with the middle mouse button? It brings the position of the mouse pointer into the center of the screen. It’s kinda like panning.

  12. John says:

    The power of of open source hardware is very much the same as open source software. For example, the the ATX Breakout featured in this story is of interest to most of us for its ability to be changed by the community in an unencumbered fashion. Yes, we could find shortcomings in the board but in the end those ultimately go away due to the open nature of it.

    For my designs it is open source all the way.

  13. Alex says:

    RE: “No screen panning via the mouse.”

    IMO, the easiest way to pan in KiCad (which is a way I prefer over mouse dragging), is by using the scroll wheel to quickly zoom out and zoom back in somewhere else. It’s can be much faster to jump around by zooming, than dragging.

    RE: “Placing components at exact coordinates is rather complicated, and requires frequent grid alterations.”

    Frequent grid alterations are needed more often than would be nice, however for placing components at exact coordinates, just so you know, you can edit the exact coordinates in the component properties.

    • arhi says:

      alex, sorry mate but that makes no sense. If you are for e.g. following a track, zooming out to zoom in will completely fsck up your perception… with any CAD tool, EDA or Graphics design, Architecture, ToolDesigner.. good and meaningful panning is no1 requirement.

      I personally prefer to grab screen with a space and pan with mouse as withing photoshop but second, third, fourth mouse button is also ok, using F4 is not nearly ergonomic for a task that important.

      re editing properties of components, that’s extremly slow + kicad stores all data in imperial values so it’s very imprecise when you use normal, metric system

      • Alex says:

        When talking about the zooming out and in, I was thinking about the cases where you are just moving to a different section of the board that you know the location of already. For the case of following a track, I can see what you mean, but in my experience it’s honestly not a “fsck with perception” thing to use the zoom out/in trick to follow a trace provided you use the ‘highlight net’ feature for the net you’re dealing with. In any case I don’t disagree that a nice mouse dragging panning method would be nice for KiCad to have… just that personally I’d probably still prefer the method I’m used to already.

        With regards to the editing of properties being slow, I agree that it’s slow, but I was pointing it out because it can be faster than changing grid sizes when the needed grid size would be awkward. Some kind of command entry would indeed be nice. And yes the low-resolution imperial units is an issue, but that’s separate matter.

        I am seriously considering looking into patching KiCad to tweak the UI to fix complaints from things like this blog post and other evaluations I’ve seen people do… maybe even give it a go trying to implement more automated integration of the schematic/layout parts…

  14. 9dof says:

    I wrote a Perl script for combining KiCAD’s Excellon drill files into one file that I’ve used successfully on Seeed’s PCB service to get NPTH holes on my boards.

    I’ve made it available at GitHub if anyone’s interested.

    It’s been tested only on a few boards so no warranty blah blah blah.

  15. red says:

    I ended up standardizing on diptrace.

    unlimited size, 500 pads at 2 layers free for open source. I actually bought the 1000 pin license which is pretty awesome.

    Give it a try, we’d be interested in your thoughts.

    • Drone says:

      If I’m not mistaken, DipTrace requires Windows and .NET bloat. Once you dig in, many restrictions. But it has been awhile since I bounced off it. If you are OK with Windows only and want to do simple boards (maybe even more), besides KiCad, have a look at FreePCB (GPL license). Maybe DipTrace will run under Wine in Linux/xBSD? Or maybe (perhaps now defunct) Mono which relies on the bloat and abstraction of Qt (also of dubious longevity?) Gee, bite the bullet, slog through KiCad and when you get deep contribute back to improve it. No cross-platform support but evolving is always gEDA. Keep in-mind that Intel is introducing new (as of post time) low-end processors (Atom?) with third-party graphics engines, so Linux/xBSD Unices are going to struggle with the likes of 3D on the low-end IAx86 platforms (no open source drivers). Dumb that Intel is doing this (again).

      • asdf says:

        KiCad requires the “bloat” of WxWidgets. Maybe you can find some old junk from the early 90s that just uses bare Win32 or Xlib calls and you can be happy in your cuckoo-land where reinventing the wheel for every project is a virtue rather than a waste of time.

      • red says:

        diptrace happily runs in Linux under wine.

    • Royce says:

      Me too. The Diptrace has fewer idiosyncrasies than Eagle (e.x. ‘smash’ is not a suitable synonym for the operation known as ‘ungroup’ by nearly every other program) and no board size limits.

      I’d love to switch to KiCAD, but it just needs way too much work on the user experience front. My time is limited. I don’t want to spend it trying to memorize needlessly unique aspects of a cad program.

  16. f. says:

    I’ve started doing hobby-level PCBs with Eagle, but recently switched to KiCad. The main reason behind this was the ability to get rid of Eagle’s limitations, but having a fully open-source toolchain also feels much nicer.
    Kicad is quite interesting, in that it is actually usable for doing PCBs despite being an open-source application. It doesn’t have show-stopping drawbacks and generally works quite well for most hobbyist-level tasks.

    What I really like about KiCad is the way routing works; you can see clearances right away in an intuitive manner, which helps routing lots of signals in limited space. Kicad generally seems to rely on not letting you do DRC violations in the first place, whereas Eagle’s concept seems to be explicitely triggered DRC checking. Both have their merits, but it helps me much more to get live DRC feedback.
    I can’t find anything wrong with the way Kicad handles Schematics, footprint associations and layouts in three different programs. They’re actually kind of nicely integrated, e.g. will scroll to selected components automatically. Yes, having to export netlists all the time is quite quirky, but I guess it’s acceptable.
    Kicad’s ability to create new components so easily and with so little pain is a real boon, but it’s also needed all the time. 3d visualization is mostly a joke, but can help you catch the instances where you placed components in such a way that they will be painful to solder manually.

    I like Kicad’s approach to having simple keyboard commands for everything, except that this is not the case as soon as the editing operation gets more complex. What Kicad really needs is a more keyboard-centric user interface (e.g. editing fill zone outlines requires lots of tedious mouse clicks with no reasonable way to do it with the keyboard). The standard component libraries of Kicad are such a joke and riddled with wrong footprints that it might be best to just start over and create your own components. Thankfully, creating footprints is a piece of cake, in contrary to Eagle.

    Eagle is a commercial product and therefore optimized to be usable (otherwise people wouldn’t buy it). This really shows, so Eagle’s overall usability is still superior. However, I don’t like many of their general design decisions. Creating custom footprints in Eagle is such a pain with the constant need to adjust grid sizes to arbitrary values etc. that I rarely felt the urge to. Eagle might have a way to place components exactly, but the interface for that is not easily accessible. Kicad, on the other hand, has this easily accesible, but there is no quick (and thus, productive) way of doing it. Eagle’s libraries can be relied on, whereas Kicad’s libraries can be relied on being of mediocre to bad quality. (As an example, Kicad’s 5 mm LED is covered with soldermask on the bottom side–things like this should not happen to basic parts. Also, almost all the silkscreen fonts are way too small on surface-mount parts.)

    I’d say that Kicad is not “there” yet. But it has become so usable that I don’t see the point in using another program for quickly designed hobbyist-level hardware, at least not for me personally. I wished more people used Kicad, which would surely speed up development. It could also help to release stable versions more quickly, as people who want to design PCBs might not want to use nightly builds in order to do so.

    • Daniel says:

      “As an example, Kicad’s 5 mm LED is covered with soldermask on the bottom side–things like this should not happen to basic parts.”

      I have really liked Kicad the last year or so I’ve used it, but I missed this on my last board and it really bugged me that someone made this part like this. I try to check most of the parts I use, but who would have expected that on a standard LED? How many people solder an LED from the top side of a board??

      • robert says:

        I do hope you’ve filed a bug report for that kicad library.

      • Daniel says:

        I’m afraid I haven’t. I’ve seen such a lack of response with other projects on bug reports that I eventually stopped looking for them. I guess I should have tried it with Kicad.

  17. Max says:

    Having grown accustomed to rely on free / open source software makes any program with limitations (as Eagle has) irrelevant for me, no matter how many others are or are not using it currently. I do not work, however, with sub-par tools – yet I have no major issues using Kicad. I use Orcad for a living, and I have no claims of Kicad being equal or better for heavy professional use, but as long as you’re not trying to design your next quad core DDR3-using power plant with it, it does everything hobbyists (and by extension, most OSHW projects) need perfectly fine, in my experience.

    In fact I’m so accustomed to I and O key (or mouse wheel) based zoom-scrolling that up to now I haven’t even realized there was no direct scroll available – yes, really. Indeed, Kicad is not really meant as a networked simultaneous team-editing tool, but that’s not exactly what most hobbyist do, and really – how often is one supposed to change a schematic?!? Occasional changes work just fine.

    For those of you not satisfied – fine, I get it, nobody is forced to use it against their will. But declaring “it’s not there yet” is simply wrong – by the same token, I put it to you that for hobby / personal use, it very much is there just fine.

    Oh, and about the libraries? Don’t bother looking past the excellent libs of Lain Walter (http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm) – making your own components is pretty much the industry standard anyway, unless you enjoy bug hunting; there is no such thing as a 100% reliable third-party library, especially drawn in the style you happen to use.

    • arhi says:

      Kicad is not really meant as a networked simultaneous team-editing tool, but that’s not exactly what most hobbyist do, and really – how often is one supposed to change a schematic?!? Occasional changes work just fine.

      Maybenot a regular hobbyist but it is how open source community works. And with how open source community works – yes there is a huge need to change a schematic many times.

      • Max says:

        Maybenot a regular hobbyist but it is how open source community works.

        I understand the idea of OSHW is to edit / change a schematic / board many times in its life cycle as it passes from hand to hand. Are you suggesting that it’s typical of such projects to have the same board edited by multiple designers at the same time…? How does that work out? If not, any cvs/svn/git should be enough for versioning.

        And with how open source community works – yes there is a huge need to change a schematic many times.

        Perhaps you have a seriously different workflow than I do then. By the time I get to design the circuit board I usually have a clear enough idea of what I’m trying to do and have the schematic sufficiently stable to only need to apply minor corrections / additions / changes, having no need to constantly iterate between the two – and if I do a major-ish revision, that’s a new file. Either way, I have a hard time imagining that pushing a button to regenerate the netlist then another one to reload it would be excessively tiresome unless one is trying to design the schematic backwards from the PCB…

      • arhi says:

        Perhaps you have a seriously different workflow than I do then.

        I didn’t do too many open hardware projects, but one of them was done on this DP forum for e.g. There were 3 complete rewrites of the schematic and many small changes (like change DCDC from 78xx to MC3* and then to LT*). It was piece of cake to change this in Proteus, I’d kill myself if I had to do it in KiCAD.

        The other, more problematic, issue is back annotation, for e.g. you have quad op-amp package, on pcb you see if you swap A / D and B / C you will route board 10times easier and nicer, in Proteus, Altium, OrCAD it is few clicks in schematic and that’s done and propagated back to schematic. This is something you could do in P-Cad some 20 years ago, it works with any multipart item (74xx, 40xx…).. but that’s not all, imagine working with CPLD/FPGA, or not even that fancy, you just use a PIC microcontroler with ability to assign hw to different pins, you need a way to make changes on PCB that will go back into the schematic, routing those chips in sw that do not support back-annotation is pita, and both PIC and CPLD are pretty common these days, don’t you think?

      • asdf says:

        @arhi: As many issues as I have with KiCad, I don’t think changing the schematic is nearly as bad as you say. After changing the schematic you just have to run Annotate, making sure “Keep existing annotation” is selected. If you haven’t changed or added footprints, it’s now enough to click “Read netlist” in the PCB editor, and your changes will show up.

  18. JBeale says:

    For what it’s worth: A group within CERN is planning work to make KiCad more useful to themselves and others. So far they have made a list of desirable features http://www.ohwr.org/projects/ohr-meta/wiki/Foss-pcb and a list of things to change within KiCad: http://www.ohwr.org/attachments/1200/kicad_wp.pdf but as far as I know all this is still in planning/discussion phase.

    • arhi says:

      If they make all of what they say they want I’d switch from Altium to kiCad.. what I noticed on few kicad mailing lists is that kicad core team disagree with most of things on this list, that is why I don’t think kicad on its own will ever become a good eda tool … now if CERN guy’s make a fork, cool, but that’s min 1 year work, maybe altium drop price in that time to become more acceptable :D .. or orCad .. or ..

      • Max says:

        I kindly suggest for consideration that you might be confusing notions – “good” is one thing, “state of the art” is a very, very, very different one. And they explicitly mention talking about the latter, not the former one on http://www.ohwr.org/projects/ohr-meta/wiki/Foss-pcb

      • arhi says:

        “good” is one thing, “state of the art” is a very, very, very different one

        Well, maybe, but I don’t regard kiCad as “good” at the moment, it’s hardly acceptable and what will cern or anyone else do in the future, we’ll see ..

        I’m in foss world for many many years and I’m since day one trying to relay a message that we need to make our software as good that ppl would use it even if it was not free. I use kiCAD from time to time, I also use gEDA from time to time, the *only* reason I use them is ’cause they are free. If they were not free I’d *never* touch them, that is how bad they are.

        Take a simple comparison, $500 Proteus vs $500 kiCAD, what would you chose? (I don’t say Eagle ’cause I don’t use it either even as it’s free, I consider it as bad as KiCAD), or 1000$ altium vs 1000$ KiCAD, would you ever chose KiCAD ?

  19. neslekkim says:

    Is the latest version of kicad really from january 2012? Or do I need to use Linux to get new versions??

  20. BambiB says:

    I’ve been using Eagle for about a month. Not really happy with it, but it is usable. Thought I’d try switching to KiCad (board size limits, commercial use). I’ve been struggling for two days just to get components on a board. I’ve got a schematic, but nasty things like wires not ATTACHING to parts seem like pretty basic flaws.

    Some “quirks” are unforgivable. In placing a library part, no Vcc or GND showed up. Looked in the text file and the pins are there – they just don’t appear on the schematic. Replaced the pins with the descriptions for a part that DID show the Vcc and GND, and still no joy. Thought I’d “look ahead” so connected a couple of wires to a couple of parts and tried to assign footprints. JESUS! Is there some reason KiCad shows 2- and 40-pin packages for a device that only has 16 pins? Doesn’t really matter though, because it wasn’t even clear how to assign the footprint to the component… and that really SHOULD be intuitively obvious. The footprint preview was nice – but the rest was just confusing.

    All the tutorials that I’ve seen that cover the sort of information I need seem to be 3-6 years old. They don’t even look like the current version of KiCad. If KiCad dev wants more “switchers”, there should be a no-nonsense download that includes everything a beginner needs, plus a step-by-step tutorial that shows how to use the software because, for inexplicable reasons, very little thought seems to have gone into the human interface model. As a result KiCad is anything but intuitive. Of course, a better solution would be to fix the HIM, and maybe someday that will happen.

    I love the IDEA of an open-source circuit design package – but KiCad isn’t even close to what I need. Sadly, I’m going back to Eagle… for now.

  21. David says:

    I started with eagle and after reaching the size limit of Eagle switched to Kicad about 4 years ago. In the past I have also used Orcad. I only use metric sizes in Kicad. Yes there are some quirky things but I found it easier to learn than Eagle. I have done 4 layer boards which have DDR ram as well as FPGA’s on board. I have always been happy with the results. Regarding libraries there are many around including a complete port of the Eagle library. (not sure how legal that is) Most of the time I create my own. It is fairly simple to do.
    @BambiB “no Vcc or GND showed up” – these are preferences that can be changed.
    “Is there some reason KiCad shows 2- and 40-pin packages for a device that only has 16 pins?” Yes there is. This is tough to get your head around if you have used Eagle. But once you get used to it it is a fantastic feature. Depending how the library parts have been set up they will automatically find the correct foorprint. But the strength of this feature allows you to choose various footprints for the same part. For example… You use say an SD card connector. When purchasing parts you discover that you cant get the one you used in the past and the one you get has a different footprint. Now you can design the new footprint and use that instead. It allows you to have many foorptints for the same part.. just like what happens in the real world.

    • arhi says:

      “Is there some reason KiCad shows 2- and 40-pin packages for a device that only has 16 pins?” Yes there is. This is tough to get your head around if you have used Eagle. But once you get used to it it is a fantastic feature.

      sorry man but it’s retarded option in kicad and not in any way fantastic. showing 500pin footprint when trying to find footprint for a led is retarded… I’m using kicad for a while now and I feel like killing someone every time I need to assign footprints

      • robert says:

        What is the problem guys? You CAN filter footprints by pin-count!

        Maybe you use some outdated version of KiCad? Could that be it?

      • arhi says:

        you can filter but it does not always work.

        on the problematic side, you need to link your 3 pin to92 to your transistor, it’s very “easy” to figure out what to92 is BCE and what is EBC … well NOT!

        there’s million other reasons why SCH part need to be directly linked to it’s footprint. every eda tool out there (starting with orcad, altium … ending with some eagle, dip trace etc) allow you to change footprint for individual part if you need to but they link sck and footprint in a part as it’s natural link, splitting it up is un-natural and extremely error prone, it’s not a smart feature it’s a missing feature and anyone saying it’s a “great thing” has some very wrong idea about how electronic design works

      • robert says:

        If you use the right libraries (maybe your own), you can directly associate a schematic symbol with a footprint or wildcard filter.

        Occasionally I do it myself, like when using SOT23 MOSFETs, or certain micro-controllers.

        I typically don’t use that option for 2-pin TH diodes.

      • David says:

        I work with mostly smd parts and apart from a selection of different sized footprints for the same parts such as caps and resistors, many ic’s have many options for the same part as well. Older through hole parts tend to haver fewer options. I find that with Kicad it is simple to choose the footprint I want. Also having spent about 20 years doing electronic design I know that a job that takes a lot of time for a project is sourcing components. Due to this it makes sense to choose your own standard set of components that are easy to obtain a have your own libraries for them.
        With both Eagle and Kicad I have had situations where I just used the libraries provided only to find that they were not correct and landed up having to re-make the board. Now I compare footprint I use with the dimensions given in the data sheet for the ACTUAL part I am using.

      • arhi says:

        Well no one said it’s impossible to get stuff done in kicad, it is possible (many proofs of that on the net) but the flow is backward and is very slow and error prone. It’s still best open source app we have attm (unfortunately) and I do use it every day for a while now and I do get stuff done… Problem is pushing info that this flow is “good” as then it will not change. The flow is retarded and needs to be changed, sooner the better.

      • David says:

        You are correct about being the best open source for PCB’s. The real problem here is that many of the libraries have not been made correctly. When you define a part for the schematic editor you can set a footprint filter. The filter can point to a single footprint or many using wildcards. If it is set to a single footprint then yes you still have to go to the footprint matching screen but you will see the correct footprints are already there. So then it works the same as Eagle. When I used Eagle I found it was always a problem choosing the correct part in the first place. If you take some sort of connector for example an SD card holder, you will see that most manufacturers use different footprints. In Eagle you had to know who manufactured the part and many of these items have no markings. Then if you could not find it you had to create it which was not as easy as Kicad

  22. David says:

    When the libray component for the schematic editor is created you can set associated footprint filters. Also in CvPCB you can set the filter as mentioned by robert. As with other programs it does work assuming the library parts have been setup correctly. For example the 74LS00 has a footprint fileter set as 14dip300* and SO14* This will cause it to select the correct footprint in CvPcb. I find the main problem with this is that many libraries for Kicad do not have these filters set. I dont see it as a major issue. It is simply a double click to asociate it.

  23. BambiB says:

    I’d love to be wrong about KiCad – to find out it’s really the greatest thing since the integrated circuit. But I don’t see it.

    Maybe if there were a step-by-step tutorial showing how to use KiCad (preferably a version released THIS century) that would get me to the point where I could actually DO something with KiCad. But for all the effort I put in, understand I was NEVER able to do ANYTHING useful with KiCad.

    Maybe KiCad actually IS easier and better than Eagle. But without a decent tutorial, the features might as well not exist! And that’s a shame, because clearly a lot of people have put a lot of time and effort into a very worthwhile project. It’s just that if you have to go to 7 different web sites to find out how KiCad USED to work 4 years ago, and then try to GUESS how it works now… the audience will always be quite rarified. And if you have to sift through a dozen web sites that have libraries, not knowing which are “good” libraries or “bad” libraries, that’s not good either.

    (Here’s where someone tells me, “Just go to this link… the step-by-step tutorial is right there along with Master Library 1 – which contains 2000 sample parts.” Or not.)

    I guess if KiCad is supposed to be easier to use than Eagle, and I can use Eagle with few problems (once I figured out what they were doing) then it should be even easier to learn to use KiCad. But fact is, I was able to get Eagle going in a day or two and with KiCad, after a day or two I was still trying to figure out when wires were actually CONNECTED to parts – because when I moved a part, the wires just stayed behind. Does that mean that in KiCad you must be omniscient regarding part placement, putting them in the correct place the first time and never, ever moving them unless you want to run all the wires again? It seems counter-intuitive – but you can see why I gave up.

    • robert says:

      Move a part: wires stay where they are.
      Drag a part: wires stay connected, but most likely with odd angles.

      Regarding rewiring: use labels.

      • BambiB says:

        So why would anyone want the “move a part” behavior?

        And what do you mean “use labels”?

  24. david says:

    I made a post and it vanished so not sure if it will return and this will be a repeat.

    The last time I used Eagle, (ver 5.11) the Move worked the same as the Drag in Kicad. I always use move in Kicad because I find it easier than fixing the mess that Drag leaves, unless the tracks are straight and require no fixing.
    You are correct about the tutorials. I think this is a result of Kicads non comercial nature. It relies on some one to give their time freely to write a tutorial. Some do exist though..
    http://www.dgkelectronics.com/kicad-tutorial-part-1-introduction-and-how-to-create-a-schematic/
    http://teholabs.com/knowledge/kicad.html
    There are many on the net. Try using the Google date range feature to find the newer ones.
    The libraries that come with Kicad are not great. I dont use them but there are many on the net. Take a look at the post above by “f4eru” for some links. Using Google you will also find an Eagle library port to Kicad and a tool that you can use to do it yourself. I have found that some of the older Eagle ports dont work properly with the latest version of Kicad but because the lib files are plain text it is a simle fix.

    To create libraries and footprint files in Kicad is fairly easy. There are also online tools that will do it for you:
    http://kicad.rohrbacher.net/quicklib.php
    http://kicad.rohrbacher.net/quickmod.php

    There is always going to be a learning curve. If you just start using it and when you hit a problem simply post your questions I am sure that you will receive a lot of help. For most people it will be more productive than trying to tell you about all the good parts of Kicad.

  25. robert says:

    move parts: because leaving the wires attached when shifting a part produces awful looks. It gets unbearably chaotic pretty quickly. Imagine a bowl of spaghetti.

    Labels: instead of drawing kilometers of wires from A to B, you can just attach a label / name to A and B. Example: imagine you want to distribute a clock signal to 5 chips. Instead of drawing spaghetti wires all over the place, you just have 5 small labels named e.g. “clock”. Less clutter.

    Of course you need to find a balance between drawing wires and using labels. Too many wires and you can’t effectively follow them due to confusion, too many labels and you always go searching for where they are.

  26. BambiB says:

    Cool! The label feature sounds like a real clutter-clearer. Sounds like it’s essentially a sort of graphical netlist. (Is that a fair description?) Is there any equivalent to Eagle’s pinswap? I frequently develop circuits with micro controllers that have lots of I/O. Doesn’t matter which pin connects where, so I often don’t see problems until physical layout – and often those problems can be solved via a simple pin swap. Being able to set a “swap level” for pins in devices is a very nice feature. Does KiCad have something similar?

    For the same reason, I don’t care as much what the wires look like unless I really can’t tell where a wire goes.

  27. Bryan says:

    I can’t understand the hesitation in adopting KiCAD over Eagle. One if free. The other is not. It’s a no brainer.

    And by free, I mean also free as in free speech. What we don’t like, we can code ourselves, given the motivation. We can build our own component libraries over time and share them, all for free. Meanwhile, greedy Cadsoft don’t even reply to emails or contact form messages, at least half the time. They’re probably too busy paying their utility bills and staff wages, I suppose. Poor them. I mean come on. An international marketplace and $800 for a still limited, one seat license with lock-in investment meaning thousands more, later? You’ve got to be kidding me! I won’t be fooled by the candy man. :-P

    So it’s KiCAD all the way for me.

    The limitations mentioned above are not really limitations at all, far as I am concerned. Just differences. This whole, “Eagle does everything right” attitude drives me crazy. I can’t stand the way they do half the stuff they do — because sure, I’m not used to it. I liek KiCAD.

    For example, it’s easy enough to numerically position things (if you must) by simply opening the open text .brd file in a text editor. You can copy/paste and stick lots of components everywhere all from there, without touching your mouse. I do it all the time. Granted, not a “command console”. But again, that’s just what you’re used to. KiCAD, “command console” let’s you change ANYTHING in the .brd file, to your hearts content. Eagle’s doesn’t.

    And that F4 thing for panning; actually, it’s not a “hold down” thing. That is a really hard way of doing it. Anyway, panning sux. It’s hard on the eyes and brain (mine, anyway :P) and easy to get lost. I’d rather have some place on the board jump immediately to center stage. That’s the place I’m interested in, after all. I don’t want to have to navigate the whole damn board pixel by pixel to that location. So, I just stick my pointer over that place and hit F4 once (or \ , as I have re-assigned it in the preferences to be closer to my Home etc keys.) Again, panning is just what you’re used to. Doesn’t necessarily make it better, actually.

    The Y-axis being “negative” thing (how do you know Eagle isn’t the one being negative?) is likely to match the 3D model co-ordinant system (which is actually the Z-axis), as it does. Doesn’t bother me because I’ve never gotten used to positive being up for Y, in the first place. *shrug*

    Wings3D (the 3D modelling program KiCAD uses) is light weight in code size, also open source as well as being very quick and easy to use. But you do have to LEARN it. It’s an’s additive modeller, so completely different to typical engineering CAD. Though admittedly frustrating at first, because it was so different to everything I knew, I now find it much faster than traditional CAD systems — even Sketch-Up. In fact, I love it. Brilliant piece of software. Yet, again, very different to what most people are used to.

    In summary, I applaud the KiCAD team for thinking outside the box. Indeed, for being more artistically creative, in my view. They don’t just copy what everyone else is doing and I like it.

    Eagle = limited and closed = junk.

    KiCAD = open = freedom = art = fun = joy = tooty-fruity flavor = not junk.

    Yay \o/

    Peace.

    • I don’t care about if a software is “free” as in speech or not. But for some things I choose the open source version like 7zip over WinZip – but then I usually donate something to the author.

      Even if I’m been into software development for the last 25-30 years I would most likely not make any modifications to the Eagle source code if it was open. So the openness is not an issue for me.

      For probably >90% of all hobbyists the free version of Eagle is sufficient and the restrictions don’t hinder them it doing what they want. Even a professional company like DP is adhering to the size limitations of the freeware edition of Eagle.

      But of course some say: “Bohooo – I might need to make 30×30 cm pcbs.” Well – if you can afford to have 30×30 cm pcbs made you can also afford to purchase a tool to support that size. Or you can use another (free) tool that your’re not familiar with and produce a board in 5x the time it would have. And if you’re open souring the end result most hobbyist are still using Eagle and have no use for your files.

      If you’re doing electronics design and can’t afford to pay $800 for a commercial edition of Eagle if your design requires it you probably are in the wrong business.

      And speaking about applauding KiCAD for thinking outside of the box and having “creative” solutions for the UI – that is something most other people complain about when it comes to Eagles non-standard way if doing things.

      I like open source, both hardware and software where it’s available, and I’ve contributed to both communities. But the open source zealots are a bit ridiculous in my mind. Everything must be open or it’s just shite. Yet they are happily using PCs with closed source hardware, a close source mouse, using a close source BIOS and in most cases a closed source (or binary blob) drivers for their graphics card. (And of course a close source and strictly controlled Ipad and Iphone – you can’t be cool without them.)

      I’m used to Eagle and currently have no intention of switching and learning a new package unless a *very* compelling reason forces me to. Seeing other random people say “close source sucks, open source ftw!” doesn’t cut it.

      It’s good that there are a handful of different pcb tools out there so each can pick their own favorite.

  28. Bryan says:

    Interesting comments. Thanks! Perhaps a little emotionally biased, just as I was. Which is fine. :-P I’ll try to be a little more rational, this time.

    To be clear, I don’t mean to say that Eagle is not a good product or that people who use it are somehow, “wrong”. It goes without saying that Eagle is in fact an excellent product, in and of itself. But, I do believe it is misplaced in the open source arena.

    As an aside, I will concede that any company can only deal with so big a market space, in all reality and that therefore I am confident that from Cadsoft’s perspective, their pricing is just the right balance, to enable ongoing business, whilst limiting their exposure to customer support expenses. Fair enough. But that’s a whole different topic. I’m here to talk about what’s best for open source and those who pursue it.

    In my opinion, Eagle’s pricing is ridiculously high for the serious hobbyists (who for the record, frequently exceed 100x80mm, for goodness sakes!) and the product, whilst arguably heading in the right direction, not nearly good enough for truly professional, team based work flows. Well, maybe kinda sorta. The better stuff does cost a whole bunch more again, to be fair. But I’m digressing, again.

    This pricing issue is especially true for poorer or developing nations, you know — where the majority population of the world live — outside of the USA.

    I happen to live in a little country, where we have sufficiently little going on locally to enable us to see the whole world as one space. Perspective, I guess.

    The way I see it, online open source projects are international in scope, by their very nature. Therefore, to insist on even a $65 license for contributors to our open source projects (commercial, because we sell boards and kits) when there are free alternatives (plural) available, is a slap in the face to the vast majority of the citizens of present day planet Earth.

    Why even bother to shout about being open source and freedom to contribute, if it’s not really open to the majority of the planet? Doesn’t that kind of negate the whole point of the “great open source movement”, as it were? Or perhaps I just have an exaggerated worldly view of things.

    Well I guess there’s always ye ol’ marketing bandwagon, where commercial operations shout about being open source to gain popularity, in contexts where it doesn’t really matter one way or the other. But let’s not get into that. :-P

    Anyway, in our case, the very first open source PCB we did was well outside Eagle’s limits, at 165x95mm, with no option to change it, because it had to replace a board in existing equipment and just such a way. So despite a certain familiarity and initial thoughts of continuing with Eagle, we were going to be up for over $800 each (x2) straight away — as were all the contributors we didn’t even know were going to come on board later, some of whom live in poor nations, where $800 or in some cases even $65, might as well be $8M. (It’s amazing how these folk acquire computers and cellphone, with next to no income. But they do. I don’t ask. :-P)

    Exaggerating that idea to, “if you can afford … 30x30cm” was perhaps a bit, “emotional”, though I do take your point. However, even the Arduino Mega doesn’t fit inside 100x80mm — and only by 2mm or so, ffs!

    “Everything must be open or it’s just shite.” Well yes, that is going too far, to be sure. Context is everything. I’m sure glad that Apple iPhones, Galaxy S4′s and Sony Vaio’s and this iMac aren’t open source. Imagine the mess we’d be in! :-P

    Gruvin.

    • There are too many open source fanatics out there that is destroying the image of open source. Take Richard Stallman for instance, he is definitely over the top and could do more for the movement if he toned down the “Open Source or die” image a bit.

      I’m not really a Eagle fanboy, I disagree with some decisions made for the V6 version. How can they add another command that starts with DI ? Now I can just type DI 46. I have to type DISP. The DI is is in my muscle memory :-( And removing the CUT -icon? I’ll stick with my licensed V4 (freely upgraded to V5) for the time being.

      But moving towards an open format of the files are a great move, but I haven’t yet seen any real 3′rd party tools for using the files. Maybe some day….

      Yes, I agree that Cadsoft should have an option for the serious hobbyist/open source adopter as well. The non-for-profit version is $125 or so for all three modules and supports 100x160mm two layers. Maybe a version without size limitations, but maybe limited to minimum 8 mil wires and only two layers would be a almost perfect “serious hobbyist” version and charge $99 for it or whatever. And then allow commercial sales, but under the condition that the design is OSHW.

      I live in a (almost) 3′rd world country in Southeast Asia so I’m definitely not US-centric in my mindset, but I have to admin that I have a Western mindset since I’m Swedish. :)

      You’re right, even the poor people here in Malaysia and also the rural farmers in Northern Thailand all have at least one cellphone and quite often a first-gen ipad as well, even if a average monthly salary is $400 fro a clerk or someone that works in a coffeshop/restaurant. And there’s no problem for them to download a cracked version of Eagle6 Pro. Most people I know here does it without hesitation.

      But saying that if not the entire world can contribute to an open source project (because of the cost of the software) the value of that project is diminished is a little bit strange. Think of all that can’t afford a computer or doesn’t even have electricity. I’d say as long as someone can study the design, learn and comment that is very valuable for the society. If then not all can actually edit the files due to cost reasons (or moral reasons) that is not such a huge problem. If they want they can redo it in their fileformat of choice. I don’t complain about the fact that eevblog Dave Jones does his open source stuff in Altium (with a price tag that is larger than I care to pay). I’d simply redo his stuff in Eagle and be happy with it.

      Simply choose the best tools for YOU and just do it and don’t care about what others, that might or might not do something sometime down the road, can do or not. Do, publish and be happy that you’ve done good.

      But having multiple “contributors” on the schematics and pcb layout is not really practical. It’s not like a software project where you have modules that can easily be individually hacked upon and merged.

      There’s probably two groups of open/free source people. The ones that care about being able to possibly improve or learn/study the design. And the “communist” ones that just want free stuff and would never consider paying for a commercial product.

      I like free stuff as much as anyone else, I also like to be able to see the design. But for me neither is important enough for me to rule out using/paying a reasonable amount of money for if that product is superior for my purposes.

      I use Paint.net instead of Photoshop – it’s probably very crappy in comparison, but I don’t need more. But I would never consider using a Linux laptop, (and believe me, I’ve tried many version since the mid-90′es). It simply is not polished enough to be enjoyable, and then I have to run a some of business Win-only apps in a VM, that’s just too much of an hassle.

      I

      • arhi says:

        :D :D :D good comment ..
        don’t forget that many “communists” that want to use only open source stuff often donate more money to the open source projects then what’s cost of the same thing in closed source version!

    • Bryan says:

      Pretty much agree on most points, I think. There’s always exceptions that can be pointed out. But in general, you made a lot of sense, to me anyway. :-)

      My wife is Chinese Mayalsian, as it happens. Good food there!

      Bryan.

  29. Jacek says:

    I’m digging out an old thread, but I have just discovered it and wanted to add my $0.03.

    I used to be a devoted Eagle fan. I used it on Linux almost since the first day they released the free version; I made many boards with it. However, I got to the point when I had to design something what was exceeding the limits of the free version. At this point faced the choice: spend $$$ on commercial version with higher limits, or turn to free design tools. Another important reason to switch was that early 6.* releases were unusable on Linux. Did I want to spend money on something what did nit work on my computer? Hell no!

    I decided to give a try to Kicad and never regretted it. I admit, the UI is not perfect, has many drawbacks, however I will never face the ceiling as I did with Eagle.
    For someone who designs only Arduino shields and has no ambitions to go beyond this level of complexity, Eagle is fine. If you are a professional and can spend $$$ on a tool of trade, Eagle is much cheaper option than Altium. However, for an ambitious hobbyist, who sees him(her)self designing in the future boards exceeding the limits of the free version, Eagle is a trap. Kicad is under constant development, and many of the problems mentioned in the post don’t exist today. Sticking with Eagle, sooner or later you will face the dilemma: shell out the $$$ (and keep spending in the future on upgrades) for a commercial version, or ditch all your libraries and designs and switch to something better.

    Go with tools which allow you to expand. gEDA or KiCad may not be the most convenient to use, but will not restrict your designs. Kicad can be a pain to use, so is Eagle. The choice is yours, but listen to your wallet.

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.