gEDA Resources

From Evil Mad Scientist Wiki
Jump to: navigation, search

Useful resources for working with gEDA, the GPL'd suite and toolkit of Electronic Design Automation software.


Note: This wiki is publicly editable; topical contributions are welcome.


Basics[edit]


Current recommendations[edit]

  • pcb-rnd, the modern, currently-developed fork of geda pcb.
  • lepton-eda, the modern, currently-developed fork of the rest of the geda family


Installing gEDA[edit]

Installing gEDA on Windows[edit]

  • gEDA can be run on Windows natively, as a cygwin application, or in a virtual machine.
  • "Official" Windows installers are available here, maintained by DJ Delorie, one of the core gEDA developers.
  • In case of difficulty with the latest, "official" versions, consider this set of unofficial installers.
  • Virtual machine method: Download Virtualbox and download Ubuntu, so that you can run Ubuntu in a virtual machine on your computer. (It's fast and easy!) Then, install gEDA (gschem and PCB) from the Ubuntu software center.


Installing gEDA on Mac[edit]

  • gEDA can be run on the Mac as an X11 application or in a virtual machine.
  • Standard method 1: Use MacPorts, and install both "geda-gaf" and "pcb." You may also want to use the Porticus GUI to make that process easier.
  • Standard method 2: Use Fink, and install the "geda-bundle." You may also want to use the Fink Commander GUI to make that process easier. More about this process here.
  • Standard method 3: Use Homebrew and "brew tap brewsci/science && brew install geda-gaf pcb".
  • Virtual machine method: Download Virtualbox and download Ubuntu, so that you can run Ubuntu in a virtual machine on your computer. (It's fast and easy!) Then, install gEDA (gschem and PCB) from the Ubuntu software center. Note: this is faster than the Fink method-- under 1 hour, if you have a reasonably fast internet connection.
  • Option 4: We highly recommend the pcb-rnd fork of PCB, available at http://repo.hu/projects/pcb-rnd/, which is an actively developed fork implementing additional features and emphasizing portability. On the Mac, this is certainly the best option for the pcb part of gEDA.

Once you have gEDA installed on Mac you can launch the applications by running their specific apps (gschem, pcb, gerbv, xgsch2pcb) in the terminal. Matt Sarnoff wrote wrapper applications which you can install into your applications directory to launch the appropriate file using the associated application just by double clicking on it. Depending on which option you used to install gEDA you may need to remap them in your PATH. Instruction are in his readme.

Installing gEDA on Linux[edit]

  • In Ubuntu, install gEDA (gschem and PCB) from the Ubuntu software center.
  • Similar packages are available for other Linux flavors, for example as Debian Packages.
  • Those familiar with git, those keen to contribute to the code base, and those seeking the latest version, should consider building from source under linux, see git.geda-project.org for further details.
  • Alternatively, you can try the pcb-rnd fork of PCB, available at http://repo.hu/projects/pcb-rnd/, which is an actively developed fork implementing additional features and emphasizing portability. It should build on most Unix platforms with a C89 compiler and either GTK or motif for the GUI. Debian .deb packages are now available. Support for gl acceleration is now available in the default svn configuration.

Introductory tutorials[edit]

In-depth documentation about gschem and PCB[edit]

  • gschem user guide at the gEDA wiki
  • PCB manual
  • PCB Tips at the gEDA wiki. Extremely helpful.
  • In addition to supporting gschem and allowing parametric footprint attributes to be used, pcb-rnd, a fork of gEDA PCB, also allows importing of KiCad Eeschema schematic netlists, LT-Spice schematic netlists, and TinyCad schematic netlists.

Symbols and Footprints[edit]

Symbols: Schematic symbols for use in gschem[edit]

  • gedasymbols, the largest single repository
  • The gedasymbols repository accessible via cvs: time spent learning to checkout a copy of the repository via cvs will be rewarded with a local copy of the gedasymbols content and the ability to share your symbols, footprints and utilities with others
  • translate2geda a java utility that will convert .bxl (Vendor neutral format), .ibs, .symdef (gschem utility), .bsd (BSDL), .lbr (Eagle XML format) device descriptions into gEDA gschem and geda PCB compatible footprints (.fp) and symbols (.sym). Gerber files can also be converted into a gEDA PCB footprint with translate2geda.
  • BXL2text, a utility to convert manufacturer supplied BXL files; BXL files contain schematic symbols and footprints. BXL2text has been enhanced to support export of multiple schematic symbols from individual BXL files, and can now export eeschema .lib libraries of symbols for KiCad users as well.
  • Symbols by Matt Sarnoff
  • Tutorial on creating your own symbols
  • KicadSymbolToGEDA a java utility that will let you convert Kicad symbol libraries (.lib) into gEDA gschem compatible symbols (.sym). Kicad is another FOSS PCB design tool. Large repositories of Kicad libraries are available online and by importing existing symbols, quite a lot of time and effort can be saved.

Footprints: component footprints for use in PCB[edit]

  • gedasymbols, the largest single repository
  • Footprints by Matt Sarnoff
  • PCB Footprints by John C Luciani -- excellent collection
  • Ronja Guidelines - Creating SMD footprints (simple guide)
  • translate2geda a java utility that will convert .bxl (Vendor neutral format), .ibs, .symdef (gschem utility), .bsd (BSDL), .lbr (Eagle XML format) into gEDA gschem and PCB compatible footprints (.fp) and symbols (.sym). The translate2geda utility can also convert LT-Spice (.asc) and QUCS (.sch) files into gschem compatible schematic (.sch) files. Gerber files can also be converted into a gEDA PCB footprint with translate2geda which is useful for extracting footprints or modifying legacy designs. translate2geda can now convert the ~51 EggBot hersheydata.py font descriptions into gEDA PCB compatible font descriptions.
  • KicadModuleToGEDA a java utility that will let you convert Kicad legacy modules and the newer s-file modules into gEDA PCB footprints. Kicad is another FOSS PCB design tool.
  • BXL2text, a utility to convert manufacturer supplied BXL files; BXL files contain schematic symbols and footprints. BXL2text has been enhanced to support export of multiple schematic symbols from individual BXL files, and can now export eeschema .lib libraries of symbols for KiCad users as well.
  • PDF to PCB footprints via pstoedit.
  • Image file to silkscreen footprint elements via a small utility image2footprint

Footprint-generating utilities[edit]

  • Footgen, Darryl Harmon's python-based footprint generator for geda/pcb
  • Ruby-based footprint generator by Stefan Salewski
  • Footprintbuilder interactive Java-based footprint design tool supporting gEDA/PCB and KiCad by Robert Fitzsimons
  • Browser-based footprint generator
  • Browser-based rectangular footprint generator by chlazza.net
  • A method of making constraint-based footprints
  • fped is a parametric footprint generation utility written by Werner Almesberger that now supports export of gEDA PCB footprints. A collection of well documented, available footprints can be found at kicad-libs-modules.pdf.
  • FootprintTextForPCB a java utility to turn text into footprint silk line elements that can be used as footprints or added to other footprints. Cyrillic, Greek and German Gothic(!) are also supported.
  • dxf2pcb a python script that will convert dxf files into either elements for use in footprints, or pcb layout snippets for uses such as defining board outlines and mounting holes, by Gabriel Denk.
  • SpiralInductorFootprintGenerator a java based spiral pcb inductor generator for gEDA PCB, and also PlanarTransformerWindingGenerator, which makes rectangular spiral inductor footprints.
  • gfootgen A GUI based footprint generator written in Ruby, by Edward Hennessy.

Format documentation[edit]

gEDA Utilities[edit]

  • Wedana: Cross-platform browser-based tools to view and edit data from gEDA applications.
  • A script to convert gschem .sch files to SVG
  • Additional fonts for PCB: Hershey single stroke fonts for gEDA PCB, some of which are decorative, as well as Chinese, Japanese and Korean glyphs, as well as Hebrew, Cyrillic and Greek fonts for the intrepid. translate2geda can now convert the ~51 EggBot font descriptions into gEDA compatible font descriptions. These fonts can now be used alongside one another in the same layout in the latest version of pcb-rnd, the gEDA PCB fork.
  • Using pstoedit to create silkscreen versions of bitmaps: How to add custom images to the silkscreen layer for gEDA PCB, using pstoedit
  • A video tutorial on how to convert .svg and .ps graphics to silkscreen layer artwork using inkscape, pstoedit and a text editor.
  • eaglepcb2freecad 3D modelling utility which allows gEDA PCB designs to be exported to FreeCAD for 3D visualisation.
  • altium2kicad can be used to convert Altium layouts into Kicad layouts which can then be loaded directly by gEDA pcb-rnd
  • libopenaltium is a utility that can convert altium files into gEDA compatible formats.
  • inkscape2pcb consists of extension scripts that can be added to an inkscape installation's extensions folder that allow the paths in an inkscape layout to be saved as either a gEDA PCB footprint, compatible with gEDA PCB, pcb-rnd, or KiCad, or a layout to be saved in .lht format for pcb-rnd.

Simulating circuits with gEDA and friends[edit]

  • Beginners tutorial at Ashwith, the first of several
  • translate2geda a java utility that can convert LT-Spice (.asc) and QUCS (.sch)files into gschem compatible schematic (.sch) files. This is useful for those who use LT-Spice or QUCS for circuit modelling, but lay out designs for manufacture in gschem +/- gEDA PCB, or require gschem to produce schematics suitable for publishing. Simulator compatible symbols in the repository need to be added to gschem's local default symbol library.
  • ltc2pcb a utility for importing LT-Spice netlists into gEDA PCB.
  • pcb-rnd the gEDA PCB fork now supports importing of LT-Spice netlists (if exported in Mentor format) directly.

Platform-specific tips and resources[edit]

For Mac users[edit]


Related Projects[edit]

  • gEDA-js is an attempt to port gEDA to JavaScript, for in-browser schematics & PCB design + simulation.
  • pcb-rnd The pcb-rnd fork of gEDA PCB is an actively developed fork implementing additional features and emphasizing portability. It builds on MacOS X and most unix systems with a C89 compiler and either GTK, with or without gl, or motif for the GUI. It now supports export of footprints and PCB layouts to kicad legacy (.brd) and (.mod) format, as well as an advanced search dialog for finding features on a design, and supports scripting. pcb-rnd now supports import and export of kicad s-expression layouts, including modules, in addition to direct export of the kicad legacy formats. Specctra DSN export for use with freerouter is supported, as well as Specctra DSN import. pcb-rnd also supports importing KiCad Eeschema schematic netlists, as well as TinyCad, Mentor Design Capture netlists and LT-Spice netlists, as well as MUCS autorouter layouts. pcb-rnd also supports import and export of Protel Autotrax/Easytrax layouts, as well as Eagle XML and Eagle binary (v3, v4, v5) PCB layouts (including embedded netlists) and Eagle binary & XML footprint library (.lbr) import. pcb-rnd also has support for HPGL import.
  • FidoCadJ is a cross platform Java application that allows schematic and PCB layout. pcb-rnd now supports export of layouts to FidoCadJ format, and an export module from FidoCadJ to gEDA PCB/pcb-rnd has been incorporated into the FidoCadJ codebase. This ability to export to and from FidoCadJ allows PCB designers to take advantage of cubic spline and cubic Bezier curve support in FidoCadJ when designing artistic, freeform or complicated board outlines and trackwork in gEDA pcb-rnd/PCB.