Electronic Design Automation (EDA) has replaced the tedious hand drawn work of designing electronic components on printed circuit boards (PCB). Unfortunately, most EDA software can cost upwards of several thousands of dollars per year in licensing fees while lower cost alternatives such as P-CAD are slowly being discontinued.
KiCad however, is a free open source alternative solution to this problem. KiCad is a EDA software project written by Jean-Pierre Charras, a researcher from France, as a rather unique and complex way for him to learn C++. KiCad is an basic EDA software used primarily to design PCBs. It has no bells and whistles but gets the job done if your willing to give up some luxuries and features commonly found in other software (example: it has no Undo feature in it's PCB footprint software).
Finding the download link in KiCad's main page is getting harder every day since the main page is slowly being abandoned for their SourceForge Wiki. SourceForce does hosts the download and it can be downloaded from there. Installation was pretty simple for me (Windows XP system) since it was the standard “next, next, next” button clicks.
For this review, I wanted to design a simple board that uses the MSP430 as it's main processor. To help me get started, I used a library from the KiCadLib by Peter Diener. To see if KiCad would give me any useful files, I am planning to take the Gerber files produced by it and test it using a PCB shop Design for Manufacturability (DFM) verification software. To help me along the way, I used the tutorial hidden away in KiCad installed folders.
Overall, the tutorial was easy to follow except it was written for an outdated version of KiCad. The changes between software were subtle enough that I could figure out the differences rather quickly.
KiCad itself is the name of the main software which is further divided into 5 smaller programs unified by a rather shaky main program.

Main Screen of KiCad
The smaller programs are EESchema, the schematic editor; PCBnew, the PCB footprint layout software; CVpcb, the software used to match the schema part with its footprint; and GerbViewer, the viewer to look at the different Gerber files created by PCBnew. The main program is shaky because it's main purpose really is just to get you to the other programs where most the work gets done. It does allow you to create a project file though which is nice but other then that, it doesn't do much and you always need to click the refresh button.
As in most other PCB software, your first duty is to create a schematic. In KiCad, I used a software called EESchema. When I first started up EESchema, a pop-up error message up told me me that my schema had “noname” which means this isn't an error message but a rather startling way to tell you to save your schema file w/ a name. Most these error messages can quickly be solved by saving the file w/ a name (this happens again in PCBnew).

Error Message? Actually telling you to name your schematic
I was pleasantly surprised I could find everything rather quickly in EESchema since in most other EDA software, it would take me quite a while to do so. The down side to this is that if I couldn't find a feature, it probably means the feature doesn't exist. However, it's always worth a shot to search the user manual hidden in the installed file folders.
For me, the biggest hassle was to add a new part library to the parts library which was more simple then I first though and was done through the Preference > Libs and Dir section. I thought it was done through the parts library section of the program. Overall, EESchema was pretty well done for a basic EDA software and I was pretty impressed with it. It even let you drag parts and have the wires follow the part along the screen. This feature alone helped me figure out how nice this software was.
PCBnew on the other hand needs more work to earn my satisfaction. One of my biggest problems with it was it had no Undo button. Yes, no Undo button. That makes things very tedious and require you to save often since because if you make an error, there isn't a way to undo it. This also requires you to be more careful the usual when moving the “whole part” and not just the pin pad of the part. Doing that could completely ruin your measurements. Speaking of measurements, PCBnew also doesn't have a ruler which means you will be measuring dimensions either by the built in grid or manually looking up the X/Y coordinates of your mouse and manually calculating the distance between two points (very tedious). The good side with PCBnew is that it allows you to make large board with up to 16 inner layers. This is very nice since most low priced EDA software limits you two a few layers in this stage. PCBnew also has some autorouting features but you need to choose from a select group of autorouters designed by other organizations. I believe most of them are free.

Count the Grids To Measure Size or Cacluated X-Y Manually (See Yellow Circle)
Designing a part is very simple. The part schema is designed using the parts library which is derived from EESchema making it a simple task. The part footprint, however, is made from a program derived from PCBnew. This makes footprint layout labor intensive since everything is measured using either the grid or manually calculating your mouse position. You cannot automatically place the footprint pads a set measurement distance. KiCad does come with lots of footprints of many major parts pre-made for both surface mount and through hole, but I didn't check the sizes to see how much leeway they gave for those who are hand soldering.
As for my MSP430 design, the TQFP packaging and 8 mil traces w/ 8 mil separation wasn't a problem for KiCad. It did what it was suppose to do and the PCB company DRM software told me everything was ok. Even looking at the preview files that the DRM produced from the Gerber files gave me confidence that the simple board I designed would be manufactured the way I entered it in KiCad.

My Actual Design w/ Traces
For all the troubles I listed above, I was pretty amazed that I actually could get it done and all within a reasonable amount of time. Speaking of Gerber, KiCad does use an odd naming notation when your ready to produce your file so be prepared to use to manual to help discern these names.
I was pretty surprised how easy it could be to create a PCB board with KiCad. I'm even more impressed by the features of this software since it primarily designed by a staff of two developers. KiCad is definitely a basic EDA software with no bells and whistles. If your looking to make a PCB for low frequency applications and can't afford a more expensive alternative, KiCad might just be for you. However, for high frequency and high signal applications where I worry about return current paths and calculating trace lengths, I would probably look somewhere else. The lack of measurement tools for KiCad's PCBNew would make that job very time. Given enough time though, if KiCad's developers continue developing this, I think KiCad software could be a great alternative to paid EDA software if all you need are the basics.
KiCad Main Page: http://www.lis.inpg.fr/realise_au_lis/kicad/
KiCad Libraries: http://www.kicadlib.org/
KiCad Wiki on SourceForge: http://kicad.sourceforge.net/wiki/index.php/Main_Page
KiCad SourceForge Download: http://sourceforge.net/project/showfiles.php?group_id=145591