Half a year ago I’ve started to use KiCad for new PCB designs I’m working on. I already wanted to try out KiCad for quite some time. Its release 4.0 and the latest changes in EagleCAD (annoying ads and recently being bought by Autodesk) were enough pressure to switch. And what should I say: after dealing with the rather unhandy library management and some cryptic error messages I really now enjoy KiCads workflow.
This post is about my experience with the transition to KiCad as my new PCB designer. It is based on the newest version 4.0 of KiCad and its daily builds via the respective Ubuntu PPAs.
First of all I can really recommend the video tutorials from Contextual Electronics. The help a lot even if you already have some experience in PCB design. The workflow between EagleCAD and KiCad is quite different…
My first approach, during a two hour trip on a train, was to make a test design based on an ATMega8U2; more or less the minimum possible design (a crystal, a few caps, an LED, and a few resistors). I then wanted to assign footprints and stumbled into a really long error message about a failed download. At that point my first test was over: Why does KiCad need an internet connection for the footprints?
The next day (after having solved the previous issue thanks to Internet access) my next hurdle was adding libraries. I wanted to make a design based on an STM32F1 microprocessor. I had downloaded a library from a Git repository but was unable to access it from KiCad. (I later found out that you have to explicitly include them in the part and footprint editor.) That might be the most annoying thing about KiCad – managing the Libraries across the various tools. It took me quite some time to get used to KiCads way of managing parts and footprints.
After that things really got better! The step by step design process in KiCad really fits quite well to my workflow. It is broken into multiple modules (programs) that are only loosely linked. Unlike in Eagle CAD you do not have instant updates on the board when adding/editing a part in the schema. I instantly got used to it: I really enjoy starting a with new a circuit diagram, and playing around with it, without immediately having to choose adequate footprints for the parts. The only thing I miss when drawing a schematic are ‘sticky’ traces that stay connected to parts when moving them around.
In EagleCAD I never used keyboard shortcuts but in KiCad I really got used to them from the first moment on. They are really intuitive and especially useful in the interactive router (in the OpenGL view) when pushing and shoving traces around.
Another feature I recently started using a lot is the 3D viewer. My latest design has to fit in an USB stick case and visualizing the outline and the parts in 3D really helps to check for possible layout issues. (I still printed the some versions onto cardstock to test the PCB outline.)
I haven’t found any design rules for KiCad available for the usual suspects (Seeed, DirtyPCBs, …), but entering them by hand wasn’t a big thing. Exporting the final PCB (Gerber files) and creating a BOM was also pretty straight forward.
Well, I just got my first KiCad designed PCB back from the board house and will report about it in a following post.