Open Circuit Design      bright ideas. . . no strings attached

Thank you for visiting the Open Circuit Design website. This website is the repository for the suite of open-source EDA (Electronic Design Automation) tools including Magic, IRSIM, Netgen, PCB, and XCircuit. These tools are all provided for free under the GNU Public License (GPL) or similar open-source license.

Open Circuit Design is committed to keeping open-source EDA tools useful and competitive with commercial tools.

Open Circuit Design Software

Click on the buttons in the menu on the left to get to the home page of each of the major electronic design automation (EDA) tools hosted by Open Circuit Design:


See my interview on EEWeb for a pretty concise summary of what Open Circuit Design and EDA tool open source development mean to me.

About the website

The OpenCircuitDesign domain is owned by me (Tim Edwards) and registered through Initially, I ran it off of a computer in my basement in Maryland and tracked the Comcast dynamic IP address using the DynDNS service. After that, for some years the OpenCircuitDesign computer sat in the network closet at MultiGiG in Scotts Valley, California, where it had a fixed IP address. Since 2012, it is back in my basement in Maryland. The OpenCircuitDesign host computer is a Fedora Core system. The underlying network service is now Verizon FiOS. runs a Wiki service using UseMod software, mailing lists using MailMan, a bug tracking database using Bugzilla, and spam filtering using SpamAssassin. It runs an IMAP mail server for inbound mail. Outbound mail is handled via Verizon, my service provider. HTDig is installed as the search engine for the site, which is also integrated into MailMan for searching the mailing list archive.

As of May 2011, all of the primary software projects are placed under git, the software versioning system created for Linux development. This is a slight update from the previous system, dating from April 2006, in which all projects were placed under CVS (concurrent versions system). Since I normally prefer tarballing distributions regularly, I have instituted a complicated system of scripts on OpenCircuitDesign. I have a copy of all the source distributions on OpenCircuitDesign in git repositories. At the end of the day (during the night), cron launches a script that checks each project, and does the following:

  1. Determines if any commits have been made during the day. If not, no further action is taken. Otherwise:
  2. Updates the revision number of the project
  3. Creates a new tarball
  4. Updates the download web page to point to the new tarball
  5. Compiles all of the commit messages since the last tarball was made
  6. Appends the messages to the history ("changes") web page.
As part of all this activity, the script is careful to keep separate the "stable" and "development" distributions where I have both (e.g., Magic and XCircuit).

A separate cron script runs roughly once a week, checking the "last modified" date on each file in the website and updating the "Last Updated" message at the bottom of each web page if it is different, so I don't have to.