New boards have been arriving in the post over the last couple of weeks, although there’s been no time to start populating them to any proper extent. I thought I would share some of my experiences with CadSoft Eagle and the open source editor KiCad. I’ve always liked Eagle, and never really had the problems with the UI that many complain about. It’s not perfect, but it’s perfectly good enough when you’re used to it. Having tried gEDA and not having any luck with that at all (if you think Eagle’s UI is bad, just wait until you try gEDA..!), I decided to make up some boards with KiCad. Here are a few thoughts having gone through the whole cycle of schematic > layout > gerber > manufacture with both.
Eagle’s main strength, which I’ll come back to, has always been it’s large and largely accurate library. It is to be appreciated this is mainly from having a large existing userbase and, especially now it’s been bought by Farnell, this will only keep increasing. KiCad, in contrast, does not have a large library. The symbols used are also oversized, with a simple resistor taking up an inordinate amount of space. However, editing parts is very straightforward and I was able to fairly quickly (couple of evenings playing around) put together the start of my own parts library. The main difference to Eagle is that one does not choose the package in advance; this task is delegated to CvPCB, which sits between Schematic and PCBNew and reads the list in. Initially, this was an annoyance, but again it’s easy to get used to and allows easy editing of the schematic without worrying initially about the exact parts.
KiCad’s main strength lies here, I think. The design rules are easily and logically editable, which is a massive plus. They’re also enforced as you edit, which was strange at first, but again makes perfect sense. KiCad is completely open with regards number of layers and layout size, which was the main attraction at first. When you edit a trace to a better (?!) location, the old trace is removed automatically, which is a nice feature as it removes hanging traces that might otherwise be missed. The main annoyance (the same applies in KiCad schematic) is that if a part is moved, the connections don’t come with it. Again, this is easy to forgive and overall PCBNew seems pretty well polished.
Where KiCad massively falls down at the moment is the actual footprint library. This is also my fault as I should have checked more thoroughly before committing the design to the board house. On receiving my boards (pictures are below), the SMD pads are just the size of the component body. This means there is no where (or very little space) to solder on to. This doesn’t look like it’s going to be a problem for the 0805 packages, but I’m dreading soldering the MSOP, SSOP, and QFN packages. Additionally, the connectors (2-pin etc) have solder mask over the bottom of the board! I’m currently having a go at scraping off the solder mask, but it could be hard going…
KiCad’s integrated gerber output functions are miles ahead of Eagle, I think. While it’s easy to have an external Gerber viewer to check your output from Eagle, having it as part of the whole editing package makes life very easy (a shame I didn’t use it properly!). Overlaying all the layers is very handy, as it’s easy to check drill and mask alignments etc.
Overall, Eagle or KiCad?
In terms of the actual process of drawing schematics and layouts, I wouldn’t really choose between the two of them. Neither of them have truly “point-and-click” usability, but it really doesn’t take much to start producing functioning and moderately complex designs. My main problem picking up KiCad was simply from being familiar with Eagle and trying to do it that way, so from fresh it should be easier.
For the hobbyist, Eagle is a fantastic resource. Despite the 100 x 80 mm and two layer limit, an awful lot of projects can be realised in this space. The component library is really what makes it, however. Having a pretty comprehensive and well maintained library of parts means that anyone can feasibly put together a good PCB in an evening with little worry that the results will be usable. I haven’t tried the very latest version yet, but the inclusion of package download straight from Farnell is another welcome addition.
KiCad is by far the most mature and usable open source design tool out there. I don’t, however, subscribe to the view that simply because something is open source makes it automatically better and I look forward to seeing KiCad being improved further. While it’s possible to pick up and start using it in an evening, its biggest problem at the moment is the rather flaky and potentially inaccurate parts library. That the symbol and footprint are disconnected helps to an extent as it’s easy to modify one of the other, but surely getting basic packages into a solderable form is the very least that can be expected. If you have large or complex mixed signal projects to realise, or want to do commercial boards, KiCad really is a very good piece of software, but realistically expect to make all your symbols and footprints from scratch (that includes even resistors and capacitors).
Below are the boards that have arrived. The rather jazzy purple board (Eagle) is v2 of the NoNe DAC (I’ll put more about this up when I have time). This came as a set of three from DorkbotPDX, which despite its ropey name has sent back some very nicely made up boards. The purple soldermask is consistent, and the pads are some sort of gold (or gold look-a-like…) plated. The price was good as well, and I’d be more than happy to use them again. The green boards are from BatchPCB, which shouldn’t need much introduction. Clockwise from top left, they are 1) WM8716 development board (KiCad), 2) SMD s20 preamplifier (KiCad), 3) microcontroller board and TPA6120 headamp (KiCad), 4) a Walt Jung positive super regulator (Eagle)
The next image shows the misplaced soldermask on the external wire connectors (highlighted in red).
And finally a comparison of the pad size for 0805 resistors from a board made in KiCad (left) and Eagle, both highlighted in red. With no external pad to solder on, I think the QFN and SSOP packages will be impossible to solder but it’s still possible to try! Maybe time for that reflow oven…?