Tuesday, November 04, 2008
Open Source EDA
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.
5 comments :
If you are leaving a comment with your Name and URL then make sure you put http:// in front of your URL for a correct link. You can use some HTML tags such as <a>, <b> and <i> in your comment. Thanks for your message - I appreciate it :)
Note: only a member of this blog may post a comment.
Search This Blog
Subscribe
Tags
About this blog
I'm Duncan Drennan and this blog is about spreading ideas regarding engineering, our environment and creating a better world. You can also follow me on Google Reader.
About Engineer Simplicity
Engineer Simplicity specialises in the design and development of electronic products.
Copyright Notice
Popular Posts
-
We are in the middle of an energy crisis and each of us need to make some dramatic changes to ensure that we have electricity, and that the ...
-
The short version (my "elevator pitch"): Compact fluorescent lamps (CFLs) use about a fifth of the energy of a normal (incandescen...
-
As engineers we spend a lot of time solving problems. A customer has a problem and it needs to be fixed. The electronic boards you have just...
-
There are a lot of steps to turn an idea into a product. Each step requires care and attention to ensure that the best product is created. B...
-
So here we are, the first blog post...well, really, here I am. My name is Duncan Drennan and this is my blog on business, design, electronic...
-
This post forms a part of the SA Blook . So what is our reality? South Africa has an unemployment rate of about 23%, a skills shortage crisi...
-
eWaste is a particularly difficult issue to deal with as it contains many different materials and lots of extremely hazardous substances. I...
-
Electronic design automation tools like OrCAD , PADS and Altium Designer are part of an electronic engineer's day–to–day life. We need...
-
With 48 post over nearly three years, I am certainly not a prolific blog writer. My goal has never been to write a lot, but to rather explor...
-
I think that it is worth trying to understand some of the reasons we are heading towards a food crisis . The result of all of this deregulat...
© The Art of Engineering 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
Thanks for the insightful article, Duncan, and for the tips on getting started.
ReplyDeleteI'm curious: do you mostly create your own custom gEDA scripts, or do you often easily find existing scripts on the web? Or, perhaps you don't need to script much at all?
You can do everything you need to without any scripting. Where it comes in handy is automating repetitive tasks. There are quite a few useful scripts available, like one to create box symbols, and another to create footprints.
ReplyDeleteI haven't needed to create my own scripts, but I have (partially) written my own PCB footprint generator. I also have a few ideas about automating some other tasks which will make the design process significantly easier and faster.
Google searches, the gEDA wiki and the gEDA user mailing list all provide good information about what is already available.
I've never heard of gEDA, but it looks interesting.
ReplyDeleteI think the biggest problem with open source EDA tools is vendor support and customer acceptance. Let's say you want to get some libraries from a particular vendor to help in your design. That vendor isn't going to use gEDA. Also, customers often like to share data using popular EDA software. I'm pretty sure gEDA will not be the choice of software for such exchanges.
Granted, gEDA has its place, but I fear it will always be limited in its appeal.
I had no luck installing gEDA on Cygwin. The installation instructions at http://www.geda.seul.org/wiki/geda:cygwin seem out of date. Does anyone have more recent instructions?
ReplyDeleteMike, please have a look at this build for windows, you should be able to install it without any hassles. If you have any questions about getting it running on Windows please feel free to email me via the contact form.
ReplyDeletehttp://www2.eng.cam.ac.uk/~pcjc2/geda-windows.html