Electronic design automation tools like
OrCAD,
PADS and
Altium Designer are part of an electronic engineer's day–to–day life. We need these tools to tell the story of our designs – to lay out the concepts in a symbolic form in the
schematics and a physical representation in the
PCB files (and much more).
Most companies use expensive commercial tools (like those mentioned above) which offer many features and benefits, but these do have some disadvantages. The biggest hurdle for smaller companies is cost, which makes it difficult to get going – you cannot earn money to pay for the tools without using the tools, which is a vicious circle. Another big disadvantage of commercial tools is their closed nature – file structures are closed and it is difficult to add custom features to the tools. Further to this, if you need improvements or bug fixes you may have to wait a long time before these become available, especially if you are a small customer. In some cases companies are bought out, forcing you to change software and go through a whole new learning curve. To phrase it differently: small users have little say in the direction of the development of the tools.
The big advantages of commercial tools are the multitude of features (if you need them), and commercial support.
When I had to choose an EDA tool suite my (non–existent) budget was the biggest deciding factor and I decided to start using an open source set of EDA tools,
gEDA. I have been using gEDA since the middle of 2007, and have completed a number of projects with it. At first I just did my schematic layout with
gschem and outsourced the PCB layout which was done in PCAD. Recently I completed some PCBs for a project which where done with
gEDA's PCB programme (this was my first entirely gEDA project).
I initially made my choice based on the free price of gEDA, but as I used it and learned more about how the suite works as a whole I discovered that there are far more compelling reasons to choose an open source EDA suite over a closed one.
The open nature of both the file structure and the source code is an incredibly powerful tool for productivity. Think about this simple example: the creation of PCB footprints (or land patterns). Creating footprints is often a long and arduous process which involves graphically drawing out exactly what it should look like and vetting the details. Each subtle variation on the footprint requires more time drawing and checking. The well documented open file format and excellent documentation on the
creation of footprints for PCB allows scripts to be written to
automate the creation of footprints resulting in a significant time saving. Similar scripts are also available for
schematic symbol creation. These are really simple examples of what can be accomplished when the file structure and code is open and documented – far more exciting things can be done, just about anything you can think of!
gEDA is also blessed with a very active support and development community, which operates mainly through the
gEDA mailing lists and the
gEDA wiki (which provides excellent documentation). I have asked many questions and received quick and helpful responses. How long did your last support request with a commercial company take to be resolved?
Using an open source EDA suite provides more stability and control over the future of your tool chain. If a large commercial tool set is either bought out, or decides to change how it works significantly you have little choice but to embrace that change, whatever the cost or learning implications are. An open source EDA tool provides you with a never ending upgrade path for the future, as well as access to the direction the tool takes. This stability comes with a responsibility to be a part of a community, rather than just a consumer. By becoming a part of the community you create a mutualistic relationship where everyone benefits.
gEDA (or
other open source EDA tools) may not be suitable for everyone, or for every project, but there are a large number of projects that can be supported by these flexible tools. Using gEDA does require a shift in the way you work, but so does any other change to your EDA tool chain. Putting in the effort to learn how to use gEDA is certainly worth it and offers the opportunity for large productivity leaps. These productivity leaps are important, as they ensure that engineers spend more time creating, designing and solving problems, rather than wasting hours on repetitive tasks. I am using it exclusively to provide solutions to my customers, and you should take a closer look at it too.
Here is a list of open projects created with gEDA. One of the most impressive open hardware projects that I have seen which uses gEDA is the Free Telephony Project, which not only shows the quality of these tools, but also the magnitude of what can be achieved with open hardware development.
Please note that files and projects created by you are entirely yours and can be used for commercial purposes without any ramifications. The projects noted above have chosen to share their work under open licenses.
There are no up–to–date Windows binaries available for gschem and I found that the PCB binaries were really slow. I run the entire suite on Cygwin. Here are the install instructions for gEDA on Cygwin. I also recommend compiling PCB on Cygwin for significantly improved performance.
I posted my thoughts on creating my first PCB with PCB to the gEDA mailing list – this may give you some ideas of initial hurdles and ideas that you will need to get through.