tangent
Top Mall-Fi poster. The T in META42.
Formerly with Tangentsoft Parts Store
- Joined
- Sep 27, 2001
- Posts
- 5,969
- Likes
- 58
I recently started designing a new board. (Nothing on-topic for Head-Fi. Don't get excited.) I had a choice:
1. Continue using my old EAGLE 5 license
2. Upgrade to EAGLE 7
3. Try KiCad
I went with 3, because I'm a neophile.
KiCad's been getting a lot of attention in the maker world lately. It feels like it's about to break out. It's already been pushing CadSoft to react, as with the move to the open XML file format in v6. Lots and lots of people are saying nice things about it.
So, let's see what all the fuss is about.
Oh, dear. Oh, dear oh dearie me. This thing blows.
After a couple of weeks with KiCad, I'm re-reading all these KiCad reviews and such and they're like the comparisons between Gimp and Photoshop, or LibreOffice and MS Office. Comparisons written by people who have clearly not spent years using the program they're trashing.
So here I go doing the same in reverse.
KiCad is very powerful, and it's possible to do professional-level work with it. In the same way that they used to lay out ICs using nothing but a light table and a roll of adhesive tape, there's nothing that stops you from using KiCad to make any PCB you can conceive of. Expend enough effort and you can certainly make it do anything you want. If your situation simply doesn't allow you to pay what CadSoft charges for EAGLE and you're unwilling to pirate a copy — good! — then KiCad is a fine choice.
But let's be clear: If your time is worth money, EAGLE's a bargain. If you spend a solid work week or two a year doing PCBs, EAGLE will pay for itself.
People look at the $1000+ cost of a Professional EAGLE license and freak out, but they're not really thinking things through. Major EAGLE updates come out only every 3 years or so, and it is practical to skip a major release or two. That amortizes to $100-300 per year. We're talking about coffee money, here. If your time is worth money, making up a few hundred dollars a year only requires saving a day or two of work. EAGLE does that.
The primary way EAGLE saves you time is simply by being rock solid. I've been using EAGLE for about a dozen years now, and I don't remember ever crashing the program. Not once. Granted, I'm not a full-time PCB designer, but I think I've given it a pretty fair workout.
KiCad, now... I can not only crash that thing at will multiple ways, I've had a few days just in these past few weeks where I've crashed it half a dozen different ways.
"Sounds like you're using an unstable build there, buddy," you say. Yes, well, they're all unstable builds, because the KiCad people recommend building from the tip of the source code repository rather than use someone else's pre-built binaries. Then when you complain about all this instability, they tell you, "Hey, it's under active development, what did you expect?" It's like a permanent beta test.
An exchange I had with the KiCad devs in the bug tracker yielded a claim that they will be trying to start releasing stable builds in about 6 months. We'll see about that. Meanwhile, CadSoft's been releasing stable builds since 1988.
Software comparisons involving EAGLE often include some complaint about EAGLE's....nonstandard...interface. Oh, it's so hard to learn, they moan. Oh, it's so inconsistent. Oh, command line, how 1980.
It's all just moaning. Yes, EAGLE's interface is a bit weird, but it's a small hump to climb, one that pays manifold benefits. Once you've got the interface down, you can motor through EAGLE. Go watch my old EAGLE tutorials, then realize that a) I am not really an EAGLE expert; and b) I had to slow down to make the tutorials watch-able.
Now let's compare with KiCad:
Ah, that's enough griping.
Let's have it. Am I just being a crotchety graybeard (get off my LAN!) or are others having as much trouble with KiCad as I've had?
1. Continue using my old EAGLE 5 license
2. Upgrade to EAGLE 7
3. Try KiCad
I went with 3, because I'm a neophile.
KiCad's been getting a lot of attention in the maker world lately. It feels like it's about to break out. It's already been pushing CadSoft to react, as with the move to the open XML file format in v6. Lots and lots of people are saying nice things about it.
So, let's see what all the fuss is about.
Oh, dear. Oh, dear oh dearie me. This thing blows.
After a couple of weeks with KiCad, I'm re-reading all these KiCad reviews and such and they're like the comparisons between Gimp and Photoshop, or LibreOffice and MS Office. Comparisons written by people who have clearly not spent years using the program they're trashing.
So here I go doing the same in reverse.
KiCad is very powerful, and it's possible to do professional-level work with it. In the same way that they used to lay out ICs using nothing but a light table and a roll of adhesive tape, there's nothing that stops you from using KiCad to make any PCB you can conceive of. Expend enough effort and you can certainly make it do anything you want. If your situation simply doesn't allow you to pay what CadSoft charges for EAGLE and you're unwilling to pirate a copy — good! — then KiCad is a fine choice.
But let's be clear: If your time is worth money, EAGLE's a bargain. If you spend a solid work week or two a year doing PCBs, EAGLE will pay for itself.
People look at the $1000+ cost of a Professional EAGLE license and freak out, but they're not really thinking things through. Major EAGLE updates come out only every 3 years or so, and it is practical to skip a major release or two. That amortizes to $100-300 per year. We're talking about coffee money, here. If your time is worth money, making up a few hundred dollars a year only requires saving a day or two of work. EAGLE does that.
The primary way EAGLE saves you time is simply by being rock solid. I've been using EAGLE for about a dozen years now, and I don't remember ever crashing the program. Not once. Granted, I'm not a full-time PCB designer, but I think I've given it a pretty fair workout.
KiCad, now... I can not only crash that thing at will multiple ways, I've had a few days just in these past few weeks where I've crashed it half a dozen different ways.
"Sounds like you're using an unstable build there, buddy," you say. Yes, well, they're all unstable builds, because the KiCad people recommend building from the tip of the source code repository rather than use someone else's pre-built binaries. Then when you complain about all this instability, they tell you, "Hey, it's under active development, what did you expect?" It's like a permanent beta test.
An exchange I had with the KiCad devs in the bug tracker yielded a claim that they will be trying to start releasing stable builds in about 6 months. We'll see about that. Meanwhile, CadSoft's been releasing stable builds since 1988.
Software comparisons involving EAGLE often include some complaint about EAGLE's....nonstandard...interface. Oh, it's so hard to learn, they moan. Oh, it's so inconsistent. Oh, command line, how 1980.
It's all just moaning. Yes, EAGLE's interface is a bit weird, but it's a small hump to climb, one that pays manifold benefits. Once you've got the interface down, you can motor through EAGLE. Go watch my old EAGLE tutorials, then realize that a) I am not really an EAGLE expert; and b) I had to slow down to make the tutorials watch-able.
Now let's compare with KiCad:
- No button to toggle between schematic and board. Worse, on my platform of choice (OS X) you can't Cmd-Tab between the windows, either, because they're all children of the parent KiCad process, and they haven't bothered to hook up Opt-Tab, the standard key for cycling between windows of a single process. I end up having to close out of the PCB editor to go back to the schematic editor, then vice versa to return to the PCB.
- When you do make that round trip, you have to manually export and then re-import the netlist. Lame!
- If you change a component's footprint in the schematic editor, you have to manually delete the component from the PCB, then re-import the netlist to force the PCB editor to re-check everything and realize the change. Lame squared.
- There are at least four different ways of assigning a PCB footprint to a schematic component.
- One of the major "pros" for KiCad in comparisons with EAGLE is that schematic components aren't bound to PCB footprints. You can pick from any pin-compatible footprint in the library. It sounds good on paper; I know I missed that when moving from ExpressPCB to EAGLE. The thing is, ExpressPCB had a relatively small part library, so it wasn't really a huge problem to find a suitable footprint. KiCad has a huge library, so it has basically every common footprint under the sun and hundreds of uncommon ones, too. You end up digging through dozens or hundreds of footprints — most of which are incompatible — to find the one you actually need. Granted that EAGLE's way of doing things makes for a bit more work in the library creation process, but once done, you've got a library component that only presents the handful of options that actually exist.
- No polygonal selection in the schematic editor, only rectangular. This means that if the parts you need to select aren't on a grid, with nothing extraneous intruding into that grid, you have to make multiple passes to rearrange blocks of parts.
- The default behavior of the move tool breaks nets and traces. You have to hold down a modifier key or two to make it do what you actually want, which is to stretch the trace/net out to let the part move. This is simply backwards.
- There seems to be no way to change the bend style of a net/trace while drawing it, so if you need the bend to go the other direction from the default, you have to go back near the bend point, click to lay down an anchor point, then continue drawing. In EAGLE, getting the right bend is a few right-clicks away, and you can continue drawing from the point where you paused to reorient.
- The Mac UI is still experimental. The Opt-Tab issue I brought up above is just one example. For another, hitting Cmd-C to copy some text in a dialog will close the dialog most of the time due to a bug in wxWidgets that's gone unfixed for over a year.
- The inch/mm toggle on the toolbar resets to mm every time I restart the program. The grid resets, too. Clue to KiCad devs: I've got several terabytes of disk space here. You're free to use some of it to, you know, remember things. It's one of the things computers are good at.
- Many things in KiCad require more clicks than in EAGLE. For just one example, updating a copper fill when a part moves. In EAGLE, it's already more work than it needs to be: you have to re-run the RATSNEST command, rather than EAGLE just doing this in the background with today's copious idle CPU power. But typing "RAT-Enter" is nothing next to what KiCad wants you to do: zoom out of where you're working, mouse over to the board edge, slow way down to make a precise mouse movement over the polygon's edge (a stark violation of Fitts' Law), right-click, disambiguate the choice of overlapping power and ground planes, go to Zones, and say Fill Zone. Now repeat all that for the other power and ground planes on your board, because the edit you just made probably invalidates one or more of those planes, too. Yeah, that EAGLE command line is looking pretty sweet right about now, isn't it?
- Planes aren't on a separate layer, so the "Visibles" panel in KiCad doesn't give you a checkbox to turn them off. You have to use the "Show filled areas" toolbar button which toggles the visibility of all of the copper pours. Want to see one of the pours in isolation? Can't do it in the PCB editor short of temporarily nuking all the overlapping planes, or exporting a set of Gerbers and launching gerbview.
- Speaking of gerbview, what's up with all the component program names? EEschema, CVpcb, gerbview, Pcbnew, pcb_calculator...is there some sensible rule that ties all of these things together? I guess they were written and named by different people over the years, each with different naming conventions, and without any central Benevolent Dictator to force them into a common naming scheme. Yuck.
- Oh, yes, let's talk about pcb_calculator. One of the few features KiCad has over EAGLE: a calculator that lets you work out trace resistances, among other things. How nice! Except that it won't take PCB trace thickness in ounces. You have to know the actual copper thickness. Seriously?!
- That brings us to the other really big feature KiCad has over EAGLE: a built-in 3D mode, so you can see how the PCB footprints are interacting with each other, and the overall design. It's great, as long as someone else has gone and made all the 3D packages you need. They're not only missing some really common ones like SOT-23-6, but also everything uncommon, such as random connectors. And heaven help you if you want to make your own. On the face of it, EagleUp looks like a hassle relative to KiCad's built-in 3D support, but at least if EagleUp is missing a footprint for your part, its output is a SketchUp file, one of the easiest to use 3D modeling tools I know. There's no compatibility or interoperability problems because you're already inside the tool you need to use to create the missing footprint.
- Another banner feature you hear about in EAGLE vs KiCad comparisons is CERN's recently-added real-time DRC-aware push-and-shove autorouter. Sounds neat, and it demos beautifully. But it only works in the OpenGL mode, which crashes the Mac build nearly instantly. I was in my most active phase of EAGLE use when CadSoft came out with its first Mac builds: they were flawless by comparison.
Ah, that's enough griping.
Let's have it. Am I just being a crotchety graybeard (get off my LAN!) or are others having as much trouble with KiCad as I've had?