KiCad 4.0.0 is Out
kicad-pcb.org
kicad-pcb.org
This flowchart captures the KiCAD experience pretty well (though the "PCB Done" step is decidedly more time consuming than its symbol suggests):http://docs.kicad-pcb.org/en/getting_started_in_kicad.html#k...
KiCost is one and bomtool (https://github.com/cpavlina/bomtool) is another.
bomtool has more of what you are looking for, where for passives you can specify a value, tolerance, package, etc it will just search digikey and pick a component that works.
The other things you mentioned I 100% agree with. more advanced DRC is something that a lot of people ask for. Not sure it will happen any time soon though.
Edit: Also, supporting any of his efforts makes you feel good, considering all he has contributed to the EE hobbyist community (contextualelectronics.com, kicad.info, the Amp Hour podcast, etc.). He and Dave Jones (EEVBlog) are the superstars of the hobbyist community.
For a prototype PCB fab, http://www.oshpark.com is my favorite.
The thing that gets sent to the board fab is a set of files in "Gerber" format. So, the Gerbers are your last chance to confirm that the boards will be what you want. I suggest using a Gerber viewing program and look carefully at all of the files to make sure that they agree with your conception of what you expect the board to look like.
Finally, whatever fab house you choose, read all of their instructions and design rules, both to confirm that your board has a chance of being made, and because it's educational.
I've been happy with www.pcbfabrication.com for several runs of boards. I know people who go to a different house for every order, shopping around for the best price, but that just adds one more level of effort and worry for me. So I'm loyal to a good supplier.
Having used all of those tools, I can say that KiCad and Eagle will remain relegated to the low layer count, and at most moderately populated PCBs. Altium still has issues with large designs, but it's got its advantages, it's very easy to work with industrial designers within the Altium ecosystem. Altium also supports some decent auto-routing and DFM tools but does not have a simulator of any kind.
Cadence's OrCAD and Allegro offerings, and Mentor Graphic's PADS suite have tools for everything from designing with microvia (laser etched single layer vias) to highly configurable constraint management tools that allow for configuring some very powerful auto-routers and interactive tools. The big two tools also have simulators like PSICE, and integration with RF design tools like Keysight ADS, Genesys, Momentum, Hyperlynx, and HFSS. If your design has any RF components or high speed buses like DDR, PCIe and USB, you need to run your designs through these tools to verify your design. Eagle, and KiCAD are great for breakout boards. Altium can be used for some pretty simple products. But I'd never use anything but Cadence or Mentor Graphics tools for anything that had a signal that operated at more than 50MHz.
KiCad is quite good, once you get the hang of it and the differences between Altium. I was able to put together reasonably complicated boards (OSH Park level tolerances) without a problem. If you want to do stuff like DDR routing and the like I don't think it's up to par, but most hobbyist projects (well, most projects in general) are very suited to KiCad.
I even designed an entire PCB on it from my Novena, which was pretty neat (2nd generation open source hardware!)
The oddest thing is that there's no built in standard part creation wizard, there's an online tool for it but it's a bit less than ideal.
I like to think long-term and be independent. I'd hate losing access to an essential tool because I change jobs or finish school.
If I purchase something myself, I also think long-term. What if I progress to larger or more complex designs (EAGLE becomes expensive quickly)? What if I don't want to pay upgrade fees?
So yes, there are legitimate reasons to use KiCad even if you "have access" to a more mature commercial package. I don't think there are any reasons to use EAGLE, though.
Rock on KiCad
Obviously, it's free and open source, with no board size / layer limitations. On the other hand, Eagle is still much more widely used in the DIY community, and most my-first-PCB-like tutorials are Eagle-based. Kicad has for years suffered from the binary release being really, really outdated. Kicad development feels pretty fast-paced.
It has most or all of Eagles features, and some nice advanced features Eagle doesn't have. Especially it's PCB routing support is much better. For example, it supports push shove routing[1] and automatic trace length matching. It also shows the netname on pads (in Eagle you have to use "show" all the time). On the schematic side, It has had hierarchical sheets for many years now, whereas Eagle only gained hierarchical design support earlier this year in version 7. Things like that.
There are minor workflow differences in some places. For example, it uses key combinations instead of typed commands. There's a netlist generation step between schematic editing and board editing, so going back and forth between the two isn't as straightforward as it is in Eagle.
[1] If you're used to Eagle, this may blow your mind: https://www.youtube.com/watch?v=C02D0_kNQeM
The new lead dev wants to do stable releases much more often than in the past. We'll see how it goes. KiCad ended up in a "feature freeze" since ~May which slowed down dev for the last six months.
We're also working on being able to take .kicad_pcb files directly, in the same way we take Eagle .brd files now. In the meantime, I wrote up a page with some KiCad screenshots and instructions for how to generate the gerbers and drill files we need. [1]
The major issues we see can be solved by checking the Protel naming format option so we can detect layers correctly, and by putting the board outline by itself on the Edge Cuts layer.
I wish I could upvote your post more for the middle paragraph. Direct kicad_pcb input in to OSH Park will be fantastic!
One of the downsides of accepting gerber files is that a lot of folks rename to match our suggested naming pattern to be sure the files work, so it can be tough to determine which CAD package was originally used. Plus, we still get gerbers from some rare ones like TraxMaker 2000 or Ranger 3.
I've recently tried Fritzing but keep finding that some components aren't available. Defining my own is kind of tedious.
BTW, in most professional contexts, parts are all created by the engineer - vendor part libraries are pretty rare. I know Altium is trying to change that, maybe soon we will see something similar happen with KiCAD.
There are quite a handful of component libraries, but you'll probably have to do a bit of digging.
The UIs of both are pretty terrible so even on that point. The schematic tools are pretty similar in their capabilities. KiCad's pcb tool has some much more advanced features (mostly added by a group at CERN in the last year) such as a push and shove router, differential trace routing and length tuning which can auto add serpentines, etc. It is not 100% feature complete compared to the old pcb engine though.
KiCad also has some nice user scripts for importing/exporting 3d models for mechanical work now. (search kicad stepup)
All in all, they are close to the same level right now.
A lot of KiCad is in flux right now though because a lot of contributors have come on in the last couple of years. Much of the program is being rewritten/has been rewritten recently. It doesn't seem to be slowing down either.
full disclosure: I help develop KiCad a bit. I tried to be pretty balanced in this comparison though.
Also, neither tool integrates smoothly with simulation software yet. One of my pet ideas for a while has been to integrate EEScheme, the KiCad schematic capture tool, with ngspice, an open-source spice engine. The integration would include things like probing voltages and currents in the schematic to make graphs appear. Or, associating spice models with library components.
However, this would also require some way to create "simulation-only" versions of schematics. Typically, you only want to simulate a sub-section of the schematic at once. No other schematic tool, even the big ones (Cadence, Mentor), does this very well yet.
The short answer: it is better. If you are considering switching, do not wait, just switch. I should have done this sooner.
The longer answer:
Both tools have drawbacks and the user interface is bizarre in many ways in both of them. That said, KiCad at least is being regularly improved. I got tired of waiting for EAGLE to fix even the most ridiculous UI flaws. It seemed just as if EAGLE wasn't really developed anymore, just stuck way back in the 90s.
My schematics look much better these days. Hierarchical sheets help, too.
The separation of symbols from footprints is a great idea. As a practical example, I already have a small library of Texas Instruments packages (DRC, DRV, etc), which means that I can often just draw a symbol and immediately assign a verified footprint to it. No copying, and the footprints are shared, so if you modify paste coverage once, all parts using that footprint can immediately benefit. This idea is a clear winner.
Routing boards takes significantly less time than in EAGLE. Mostly because of the push and shove router — I don't think I'd even take on some boards I'm making these days without it.
The layers seem to be better organized: you don't get a hundred layers with weird names, the set is clearly defined and it's easy to understand what they are used for.
3D visualization is really great. I didn't think it would be useful, but I can't live without it these days. All the components in my libraries now have 3d models attached, even if the model is a simple cube. This helps greatly when designing small stuff that is supposed to go into real enclosures. Exporting to decent CAD packages isn't quite there yet (you can do it, but it requires significant effort), but the ability to instantly visualize your board helps a lot already.
The library management is as bad as it was in EAGLE. Perhaps slightly better because you can use github repos as sources, but in general it's a crappy experience. I hope this will improve in the future.
Finally, price is an important consideration. EAGLE is not free. If you do anything commercial, EAGLE suddenly starts to be quite expensive, especially if you want 4-layer boards or larger boards. Other commercial packages are even more expensive. So if you are a serious hobbyist who wants to produce small 4-layer boards at OSHpark, KiCad is really the best option.
In general, I see no compelling reason to stick to EAGLE unless you have zero time for learning new things.
The only thing I'd add is that anybody who's thinking of switching should treat it like picking up a new, very different programming language. It took me three weeks with several boards and a video tutorial series to finally get comfortable that I can use the tool without constantly looking up hotkeys and documentation (which is really good).
The thing I recommend is to never assume that the way KiCad is doing something is the only way, and to Google aggressively. A good example is the 'Move' tool vs the 'Grab' tool. I watched a guy nearly swear off KiCad because he only used Move and never Grab, so he was moving wire segments individually. If he'd read the documentation or searched for the answer, it would have been there. These tools are not particularly intuitive.
The best part of taking some dedicated time is that now I have 2-layer and 4-layer templates with my design rules, custom project settings, and a bunch of custom hotkeys. It makes all the difference.