Introduction to gEDA and PCB



This is an introduction to installing and using the free/libre/open-source electronic design tools gEDA/gaf and PCB.

Requirements
You will need a bunch of packages in order to build the tools, refer to the official instructions if in doubt. On Debian unstable the following should work:

$ apt-get install gcc autoconf automake libtool pkg-config gettext guile-1.8-dev libgtk2.0-dev groff intltool flex bison transfig tcl8.4-dev libgd2-xpm-dev

Installing gEDA/gaf
First, you'll want to install gEDA/gaf. I recommend using the latest git version (not any distribution packages which are likely very old). The default installation location/prefix of the tools is /usr/local but for now we use $(HOME)/geda. The installation process works as follows:

$ git clone git://git.gpleda.org/gaf.git $ cd gaf $ ./autogen.sh $ ./configure --prefix=/home/USER/geda --with-xdgdatadir=/home/USER/.local/share $ make $ make install

Then, you will need to paste this line in your ~/.bashrc file, so that the tools can be found:

export PATH=/home/USER/geda/bin:${PATH}

Now reload the fixed ~/.bashrc file via:

$ source ~/.bashrc

Installing PCB
The PCB installation is pretty straight-forward, just note that you should ideally install it to the same place where gEDA/gaf is installed, using --prefix:

$ git clone git://git.gpleda.org/pcb.git $ cd pcb $ ./autogen.sh $ ./configure --prefix=/home/user/geda $ make $ make install

Usage
As a first step the gschem warmup and the gschem -> gsch2pcb -> PCB tutorial are highly recommended to get used to the tools.

For PCB there's also a detailed tutorial which describes the basics as well as the creation of a more elaborate 4-layer example PCB.

Example: Open-BLDC implemented in gEDA/PCB
Uwe Hermann is currently in the process of re-implementing the Open-BLDC schematics (and later PCB designs) in gEDA/PCB. This is done to evaluate and learn more about the tools, in the hope that they can be used instead of the closed-source EAGLE (on the long run). You can view the current state in Uwe's open-bldc git repo (most of it is already merged into esden's master repo, too).

$ git clone git://github.com/uwehermann/open-bldc.git $ cd open-bldc/hardware/geda $ make (this generates some more required symbols)

You can then view/edit the schematics using:

$ gschem open-bldc.sch

For viewing/printing the schematics as PDF you can type:

$ make sch-pdf

Resources

 * gedasymbols.org &mdash; Lots more symbols and footprints
 * Tutorial for creating symbols using the tragesym tool
 * PCB tips

Advantages
Here are some advantages of gEDA/PCB over the "Freeware" version of EAGLE (and possibly other proprietary tools):


 * Unrestricted amount of layers (16 per default, more can be added if needed).
 * Unrestricted amount of schematic sheets.
 * gEDA/PCB symbols and footprints are human-readable text files, which makes it possible to patch, merge and view diffs easily (better for VCS usage).
 * Symbols, footprints, and schematic sheets are all in different text files, which makes it easier for multiple people to work on the project simultaneously.
 * Oh, and it's open-source software ;-) With all the usual advantages which come with that.