Difference between revisions of "GEDA Resources"

From Evil Mad Scientist Wiki
Jump to: navigation, search
(Footprints: component footprints for use in PCB)
 
(50 intermediate revisions by 18 users not shown)
Line 4: Line 4:
  
  
:'''Note 1:''' ''This page is a continuing work in progress.'' 
+
:'''Note:''' This wiki is publicly editable; topical contributions are welcome.  
:'''Note 2:''' This wiki is publicly editable; topical contributions are welcome.  
 
  
  
Line 14: Line 13:
 
* [http://www.opencircuits.com/GEDA All about gEDA] at Open Circuits
 
* [http://www.opencircuits.com/GEDA All about gEDA] at Open Circuits
  
 +
 +
== Current recommendations ==
 +
* [http://repo.hu/projects/pcb-rnd/ pcb-rnd], the modern, currently-developed fork of geda pcb.
 +
* [https://github.com/lepton-eda/lepton-eda lepton-eda], the modern, currently-developed fork of the ''rest'' of the geda family
  
  
Line 21: Line 24:
 
* gEDA can be run on Windows natively, as a cygwin application, or in a virtual machine.
 
* gEDA can be run on Windows natively, as a cygwin application, or in a virtual machine.
 
* "Official" Windows installers are available [http://www.delorie.com/pcb/geda-windows/ here], maintained by [http://www.delorie.com/ DJ Delorie], one of the core gEDA developers.
 
* "Official" Windows installers are available [http://www.delorie.com/pcb/geda-windows/ here], maintained by [http://www.delorie.com/ DJ Delorie], one of the core gEDA developers.
* In case of difficulty with the latest, "official" versions, there are also unofficial "native" installers available.  We would recommend  [http://www2.eng.cam.ac.uk/~pcjc2/geda-windows.html this installer] by Peter Clifton. 
+
* In case of difficulty with the latest, "official" versions, consider [http://bibo.iqo.uni-hannover.de/dokuwiki/doku.php?id=english:geda_for_ms-windows this set] of unofficial installers.   
* [http://bibo.iqo.uni-hannover.de/dokuwiki/doku.php?id=fertigung:englische_version_der_anleitung  Another set] of unofficial installers.   
 
 
* Virtual machine method: Download [http://www.virtualbox.org/ Virtualbox] and download [http://www.ubuntu.com 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.  
 
* Virtual machine method: Download [http://www.virtualbox.org/ Virtualbox] and download [http://www.ubuntu.com 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.  
  
Line 30: Line 32:
 
* Standard method 1: Use [http://www.finkproject.org/ MacPorts], and install both "geda-gaf" and "pcb."  You may also want to use the [http://porticus.alittledrop.com/ Porticus] GUI to make that process easier.
 
* Standard method 1: Use [http://www.finkproject.org/ MacPorts], and install both "geda-gaf" and "pcb."  You may also want to use the [http://porticus.alittledrop.com/ Porticus] GUI to make that process easier.
 
* Standard method 2: Use [http://www.finkproject.org/ Fink], and install the "geda-bundle."    You may also want to use the [http://finkcommander.sourceforge.net/ Fink Commander] GUI to make that process easier. More about this process [http://www.ghz.cc/charles/fink/ here].   
 
* Standard method 2: Use [http://www.finkproject.org/ Fink], and install the "geda-bundle."    You may also want to use the [http://finkcommander.sourceforge.net/ Fink Commander] GUI to make that process easier. More about this process [http://www.ghz.cc/charles/fink/ here].   
* Standard method 3: Use [http://mxcl.github.com/homebrew/ Homebrew] and "brew install geda-gaf pcb".
+
* Standard method 3: Use [http://mxcl.github.com/homebrew/ Homebrew] and "brew tap brewsci/science && brew install geda-gaf pcb".
 
* Virtual machine method: Download [http://www.virtualbox.org/ Virtualbox] and download [http://www.ubuntu.com 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.
 
* Virtual machine method: Download [http://www.virtualbox.org/ Virtualbox] and download [http://www.ubuntu.com 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/ 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. [http://www.msarnoff.org/geda-mac/ 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 ===
 
=== Installing gEDA on Linux ===
Line 38: Line 42:
 
* Similar packages are available for other Linux flavors, for example as [http://packages.debian.org/sid/geda Debian Packages].
 
* Similar packages are available for other Linux flavors, for example as [http://packages.debian.org/sid/geda 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 [http://git.geda-project.org/ git.geda-project.org] for further details.
 
* 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 [http://git.geda-project.org/ 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/ 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 ==
 
== Introductory tutorials ==
Line 44: Line 49:
 
* [http://www.delorie.com/pcb/docs/gs/gs.html PCB tutorial] (layout only) by DJ Delorie
 
* [http://www.delorie.com/pcb/docs/gs/gs.html PCB tutorial] (layout only) by DJ Delorie
 
* [http://sites.google.com/site/abhijit86k/linux/geda Tutorials] by Abhijit Kshirsagar
 
* [http://sites.google.com/site/abhijit86k/linux/geda Tutorials] by Abhijit Kshirsagar
* [http://www.fivemanconspiracy.com/node/14 PCB basics and gEDA/PCB Tips and Tricks] -- a forum post at 5 Man Conspiracy
+
* [https://web.archive.org/web/20150302220024/http://www.fivemanconspiracy.com/node/14 PCB basics and gEDA/PCB Tips and Tricks] -- Archived forum post from 5 Man Conspiracy
 
+
* [http://vk5hse.blogspot.com/2017/03/converting-eagle-brd-layouts-to-geda.html Converting Eagle XML layouts ] to gEDA compatible layouts HOWTO
 +
* [http://vk5hse.blogspot.com/2017/02/altium-to-geda-pcbpcb-rnd-conversion.html Converting Altium layouts ] to gEDA compatible layouts HOWTO. See also [https://github.com/pcjc2/openaltium openaltium].
 +
* [http://vk5hse.blogspot.com/2016/05/adding-images-to-silkscreen-in-geda-pcb.html Adding images] to the silkscreen in PCBs, HOWTO.
 +
* [http://vk5hse.blogspot.com/2017/03/exotic-and-complex-footprint-creation.html Complex and exotic] footprint creation using the no nonsense cross platform CAD tool FidoCadJ, which can export layouts to gEDA PCB / pcb-rnd.
  
 
== In-depth documentation about gschem and PCB ==
 
== In-depth documentation about gschem and PCB ==
Line 51: Line 59:
 
* [http://pcb.geda-project.org/pcb-cvs/pcb.html PCB manual]  
 
* [http://pcb.geda-project.org/pcb-cvs/pcb.html PCB manual]  
 
* [http://geda-project.org/wiki/geda:pcb_tips PCB Tips] at the gEDA wiki.  ''Extremely helpful.''
 
* [http://geda-project.org/wiki/geda:pcb_tips PCB Tips] at the gEDA wiki.  ''Extremely helpful.''
 
+
* In addition to supporting gschem and allowing parametric footprint attributes to be used, [http://repo.hu/projects/pcb-rnd/ 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 ==
 
== Symbols and Footprints ==
Line 59: Line 67:
 
* [http://www.gedasymbols.org/ gedasymbols], the largest single repository
 
* [http://www.gedasymbols.org/ gedasymbols], the largest single repository
 
* [http://www.gedasymbols.org/cvs.html The gedasymbols repository accessible via cvs]: time spent learning to checkout a copy of the repository via [http://www.nongnu.org/cvs/ cvs] will be rewarded with a local copy of the gedasymbols content and the ability to share your symbols, footprints and utilities with others
 
* [http://www.gedasymbols.org/cvs.html The gedasymbols repository accessible via cvs]: time spent learning to checkout a copy of the repository via [http://www.nongnu.org/cvs/ cvs] will be rewarded with a local copy of the gedasymbols content and the ability to share your symbols, footprints and utilities with others
* [http://github.com/erichVK5/translate2geda 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).
+
* [http://github.com/erichVK5/translate2geda 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.
* [https://github.com/erichVK5/BXL2text BXL2text], a utility to convert manufacturer supplied BXL files; BXL files contain schematic symbols and footprints.
+
* [https://github.com/erichVK5/BXL2text 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.
 
* [http://www.msarnoff.org/symbols/ Symbols] by Matt Sarnoff
 
* [http://www.msarnoff.org/symbols/ Symbols] by Matt Sarnoff
 
* [http://ashwith.wordpress.com/2010/09/23/creating-your-own-symbols-in-gschem/ Tutorial] on creating your own symbols
 
* [http://ashwith.wordpress.com/2010/09/23/creating-your-own-symbols-in-gschem/ Tutorial] on creating your own symbols
Line 70: Line 78:
 
* [http://www.luciani.org/geda/pcb/pcb-footprint-list.html PCB Footprints] by John C Luciani -- excellent collection
 
* [http://www.luciani.org/geda/pcb/pcb-footprint-list.html PCB Footprints] by John C Luciani -- excellent collection
 
* [http://ronja.twibright.com/guidelines/footprints.php Ronja Guidelines] - Creating SMD footprints (simple guide)
 
* [http://ronja.twibright.com/guidelines/footprints.php Ronja Guidelines] - Creating SMD footprints (simple guide)
* [http://github.com/erichVK5/translate2geda 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.
+
* [http://github.com/erichVK5/translate2geda 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.
 
* [http://github.com/erichVK5/KicadModuleToGEDA 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.
 
* [http://github.com/erichVK5/KicadModuleToGEDA 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.
* [https://github.com/erichVK5/BXL2text BXL2text], a utility to convert manufacturer supplied BXL files; BXL files contain schematic symbols and footprints.
+
* [https://github.com/erichVK5/BXL2text 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.
 
* [http://www.penguin.cz/~utx/pstoedit-pcb/ PDF to PCB footprints] via pstoedit.
 
* [http://www.penguin.cz/~utx/pstoedit-pcb/ PDF to PCB footprints] via pstoedit.
 
* [https://github.com/erichVK5/image2footprint Image file to silkscreen footprint elements] via a small utility image2footprint
 
* [https://github.com/erichVK5/image2footprint Image file to silkscreen footprint elements] via a small utility image2footprint
Line 83: Line 91:
 
* [http://www.chlazza.net/jsfpg.html Browser-based] rectangular footprint generator by chlazza.net
 
* [http://www.chlazza.net/jsfpg.html Browser-based] rectangular footprint generator by chlazza.net
 
* [https://xgoat.com/wp/2011/08/08/playing-with-footprints-and-constraints/ A method] of making constraint-based footprints
 
* [https://xgoat.com/wp/2011/08/08/playing-with-footprints-and-constraints/ A method] of making constraint-based footprints
* [https://github.com/erichVK5/FootprintTextForPCB FootprintTextForPCB] a java utility to turn text into footprint silk line elements
+
* [http://downloads.qi-hardware.com/people/werner/fped/gui.html 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 [http://downloads.qi-hardware.com/people/werner/tmp/kicad-libs-modules.pdf kicad-libs-modules.pdf].
 +
* [https://github.com/erichVK5/FootprintTextForPCB 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.
 
* [https://sourceforge.net/projects/dxf2pcb/?source=directory 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.
 
* [https://sourceforge.net/projects/dxf2pcb/?source=directory 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.
 +
* [https://github.com/erichVK5/SpiralInductorFootprintGenerator SpiralInductorFootprintGenerator ] a java based spiral pcb inductor generator for gEDA PCB, and also [https://github.com/erichVK5/PlanarTransformerWindingGenerator PlanarTransformerWindingGenerator], which makes rectangular spiral inductor footprints.
 +
* [https://ehennes775.github.io/gfootgen/ gfootgen] A GUI based footprint generator written in Ruby, by Edward Hennessy.
  
 
=== Format documentation ===
 
=== Format documentation ===
 
* [http://geda-project.org/wiki/geda:gschem_symbol_creation gschem symbol creation guide] at the gEDA wiki
 
* [http://geda-project.org/wiki/geda:gschem_symbol_creation gschem symbol creation guide] at the gEDA wiki
 
* [http://geda-project.org/wiki/geda:pcb_footprints PCB Footprint guide] at the gEDA wiki
 
* [http://geda-project.org/wiki/geda:pcb_footprints PCB Footprint guide] at the gEDA wiki
* [http://www.brorson.com/gEDA/land_patterns_20070805.pdf Footprint Creation Guide] (1.1 MB PDF document)
+
* [https://github.com/erichVK5/KicadModuleToGEDA/blob/master/land_patterns_20070818.pdf Footprint Creation Guide] (1.1 MB PDF document)
  
 
== gEDA Utilities ==
 
== gEDA Utilities ==
 
* [http://sourceforge.net/apps/trac/wedana/ Wedana]: Cross-platform browser-based tools to view and edit data from gEDA applications.
 
* [http://sourceforge.net/apps/trac/wedana/ Wedana]: Cross-platform browser-based tools to view and edit data from gEDA applications.
 
* [http://www.designer-iii.com/gEDA/index.html A script] to convert gschem .sch files to SVG
 
* [http://www.designer-iii.com/gEDA/index.html A script] to convert gschem .sch files to SVG
* [http://vk5hse.blogspot.com/2014/09/geda-pcb-font-utilities-and-options.html 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
+
* [http://vk5hse.blogspot.com/2014/09/geda-pcb-font-utilities-and-options.html 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. [https://github.com/erichVK5/translate2geda 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.
 
* [http://letsmakerobots.com/node/38709 Using pstoedit to create silkscreen versions of bitmaps]: How to add custom images to the silkscreen layer for gEDA PCB, using pstoedit
 
* [http://letsmakerobots.com/node/38709 Using pstoedit to create silkscreen versions of bitmaps]: How to add custom images to the silkscreen layer for gEDA PCB, using pstoedit
 
* [https://www.youtube.com/watch?v=3gMjHpglVUM A video tutorial] on how to convert .svg and .ps graphics to silkscreen layer artwork using inkscape, pstoedit and a text editor.
 
* [https://www.youtube.com/watch?v=3gMjHpglVUM A video tutorial] on how to convert .svg and .ps graphics to silkscreen layer artwork using inkscape, pstoedit and a text editor.
 +
* [https://sourceforge.net/projects/eaglepcb2freecad/ eaglepcb2freecad] 3D modelling utility which allows gEDA PCB designs to be exported to FreeCAD for 3D visualisation.
 +
* [http://vk5hse.blogspot.com/2017/02/altium-to-geda-pcbpcb-rnd-conversion.html altium2kicad] can be used to convert Altium layouts into Kicad layouts which can then be loaded directly by gEDA pcb-rnd
 +
* [https://github.com/pcjc2/openaltium/tree/master/libopenaltium libopenaltium] is a utility that can convert altium files into gEDA compatible formats.
 +
* [https://github.com/erichVK5/inkscape2pcb 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 ==
 
== Simulating circuits with gEDA and friends ==
 
* [http://ashwith.wordpress.com/2010/09/10/circuit-simulation-in-gnulinux-lets-begin/ Beginners tutorial] at Ashwith, the first of several
 
* [http://ashwith.wordpress.com/2010/09/10/circuit-simulation-in-gnulinux-lets-begin/ Beginners tutorial] at Ashwith, the first of several
* [http://www.brorson.com/gEDA/SPICE/intro.html Tutorial]  by Stuart Brorson
 
 
* [http://github.com/erichVK5/translate2geda 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.
 
* [http://github.com/erichVK5/translate2geda 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.
 
* [https://github.com/klammerj/ltc2pcb ltc2pcb] a utility for importing LT-Spice netlists into gEDA PCB.
 
* [https://github.com/klammerj/ltc2pcb ltc2pcb] a utility for importing LT-Spice netlists into gEDA PCB.
 +
* [http://repo.hu/projects/pcb-rnd/ pcb-rnd] the gEDA PCB fork now supports importing of LT-Spice netlists (if exported in Mentor format) directly.
  
 
== Platform-specific tips and resources ==
 
== Platform-specific tips and resources ==
Line 113: Line 128:
 
== Related Projects ==
 
== Related Projects ==
 
* [https://github.com/matthiasbock/gEDA-js gEDA-js] is an attempt to port gEDA to JavaScript, for in-browser schematics & PCB design + simulation.
 
* [https://github.com/matthiasbock/gEDA-js gEDA-js] is an attempt to port gEDA to JavaScript, for in-browser schematics & PCB design + simulation.
 +
* [http://repo.hu/projects/pcb-rnd/ 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.
 +
* [https://github.com/DarwinNE/FidoCadJ 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.

Latest revision as of 10:23, 1 November 2021

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.