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.
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.
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.
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.