When you finish the design and prototyping of your project and you want to make a PCB, you need to use some kind of PCB layout software. While there are a plethora of commercial products (most of them expensive - very expensive), there are relatively few that are low cost or free for the open source designer. This guide will look at the options and make recommendations based on the author's knowledge and preferences. I also have a more extensive comparison here.
Online PCB Software
Some commercial PCB fabricators offer their own free online software. While some of these products may be quite capable, they suffer from one huge drawback - you are locked into their services. If you want to have your PCB made elsewhere, you are out of luck. For that reason I don't give these programs a second look.
Eagle CAD
Eagle CAD is the favorite PCB layout software among open source hardware designers. For that reason there are a lot of extensive component and footprint libraries available for many of the parts used by hobbyists and the open source community. While it is a commercial program, the company offers a freeware version limited only by the PCB size.
Despite all these advantages, Eagle suffers from some major issues. I my opinion, they are show stopping issues. They are not bugs, nor are they limitations in its capabilities. The problem is its user interface. Thea render materials. It seems like it is a relic from the DOS era. The user interface is all backwards from the normal mouse driven interface on all modern operating systems. The worst though is not only that it is different, but it is incredibly inefficient and really difficult to use. The learning curve is steep and once you learn how to use it, it still does not get any better. If you choose this package, be prepared to spend a lot of time using it.
KiCAD
This application is free and open source and has a lot to commend it. It is easy to use and very capable. It also has a smattering of support in the open hardware community. You won't go wrong using it.
However, it is difficult to convert a schematic to a PCB. If that was the only problem, it would be minor. However, I find it is equally difficult to do either forward or back-annotate any changes made to the schematic or the PCB. You have to go through a tedious multi-step process every time. This issue is a real show stopper for me. One can only hope the developers will eventually fix this problem.
DipTrace
While this is a Windows application, it is very well behaved under Wine, and I run it on Linux without any problem. Like KiCAD, it has a lot to commend it. It has a modern interface, short learning curve and is quick and easy to get things done.
While it is commercial software, it comes in a freeware version with generous limitations. Most open hardware projects will never run into them.
Recommendation
DipTrace is the software I recommend first, followed by KiCAD. If it weren't for KiCAD's poor forward/back annotation, it would get my recommendation. You can be designing circuits in DipTrace on day one. There is a decent component library, and it is easy to add your own components & footprints.