This is an old revision of the document!
gsch2pcb is a frontend to gnetlist that will automate the process of moving a design from gschem to PCB. It takes the footprint and part value information from your schematic (or set of schematics) and runs them thru the netlister. The end result is a set of files that, in PCB, are the basics of your design: the part footprints, the netlist that shows all of the connections from one part to another, the physical circuit board and whatever other physical information you included in your schematic as graphical objects (like board outlines).
gsch2pcb is included in gEDA/gaf. It is installed by default with gEDA/gaf. Run it from the command line with ./gsch2pcb.
gsch2pcb is part of gEDA/gaf, in the utils. It is normally installed by default (along with everything else) if you install the entirety of gEDA/gaf. If you don’t have it installed on your machine for some reason you can either download the utils tarball from:
or grab it directly from git at:
Try running gsch2pcb in double verbose mode: “gsch2pcb -v -v”. This will produce lots of spew telling you where gsch2pcb is looking while it tries to find footprints. It will also tell you where it does find the footprints it uses.
Edit $INSTALLDIR/share/gEDA/scheme/gnet-gsch2pcb.scm to reflect your preferred layer stack. In particular you may have to modify the line that defines the layer groups:
(display "Groups(\"1,2,3,s:4,5,6,c:7:8\")\n" port)
and the layer stack itself:
(lambda (port) (display "Layer(1 \"bottom\")\n(\n)\n" port) (display "Layer(2 \"bott.-poly.\")\n(\n)\n" port) ... (display "Layer(8 \"lineout\")\n(\n)" port) (display "Layer(9 \"ignored\")\n(\n)\n" port) (display "Layer(10 \"ignored\")\n(\n)" port) (newline port)))
Note, the last two layers will map to silk on both sides of the board. So you will have to define two more layers than you want for your copper layout.