GNU Electronic Design Automation These lab notes are about using gEDA[1]. See alsoe the electronics[2] lab notes. [1] http://www.gpleda.org/index.html [2] entry://../electronics/ Entry: Using gschem + PCB Date: Fri Dec 17 12:28:50 EST 2010 I've used them before to make the sheepsint boards[1][2]. It's quirky but it works. Some things to find out: - How to properly do dual/quad opamps. Does this need 2+1 / 4+1 symbols? Opamps + power supply? General question: how to make a symbol share a package? FIXED: Use different symbols, but the same refdes. - Keep your own library of symbols and packages. There seems to be little consistency between releases and distributions.. The formats are not so difficult, and fully text-editable. Mine is here[4]. - Converting schematic to .ps and .pdf, see the print.scm and Makefile here[3]. [1] http://zwizwa.be/staapl/sheep/ [2] http://zwizwa.be/staapl/catkit/ [3] http://zwizwa.be/darcs/pedal [4] http://zwizwa.be/darcs/gaf [5] http://pcb.gpleda.org/pcb-20100929/pcb.html Entry: gschem and friends Date: Sat Dec 18 20:12:08 EST 2010 First, I'm not complaining. This is free and powerful software. And it's inherently complex. But boy, is it messy! 1. Make your own library for both gschem symbols (.sym) and PCB footprints. Entry: PCB, gschem: things to find out Date: Sun Dec 19 23:38:26 EST 2010 Got the basic layout for the distortion box ready. Using only solder side traces and 100 mil trace/hole grid to allow for perfboard implementation. To find out: - Get layout on paper (EDIT: works fine, just print) - How to make custom menus and key commands, i.e.: - Grid toggle between 100 / 25 mil - Switch between line and edit mode (space = edit mode) - Where to make the board => design rules. EDIT: BatchPCB / Gold Phoenix seem to be most appropriate. $10 setup + $2.5 / square inch. Entry: gEDA diode conventions Date: Mon Jan 3 19:02:44 EST 2011 I noticed that the pin numbers used by the default gschem symbols for diodes and LEDs are reversed from the pin numbers in the footprints T1.75_LED from newlib and DO-35.fp from luciani.org[1]. diode: Cathode (-) ---|<|--- Anode (+) led.sch: 1 2 T1.75_LED 2 1 diode.sch: 2 1 DO-35.fp 1 2 That's maximally wrong! In fact my disto layout had both led and diode reversed which messed up the biasing. Normalized to: 1 = cathode, 2 = anode. EDIT: apparently SPICE has standard pin numbers, so whe should stick to those. This is the `pinseq' attribute. [1] http://www.luciani.org/geda/pcb/ [2] http://www.luciani.org/geda/pcb/pcb-symbols-jcl_2008-4-25.tgz Entry: gEDA Makefile Date: Sun Jan 9 09:01:43 EST 2011 I'm using a single Makefile to streamline the gEDA design flow. It's a work in progress. The current version can be found in the pedal[1] project. [1] http://zwizwa.be/darcs/pedal/Makefile Entry: Automatic numbering Date: Sun Jan 9 09:19:15 EST 2011 I tried it, but it seems to increment by 2? [1] http://www.mail-archive.com/geda-user@moria.seul.org/msg09896.html Entry: Spice Date: Mon Jan 10 09:49:19 EST 2011 Let's try to get spice working. I have a schematic of a one-pole variable lowpass filter I'd like to get simulated[2]. Problems: - Transistor / Diode models - Voltage source specification - Output meter? For the models it seems spicelib[1] is the appropriate tool: it downloads spice models from manufacturer's sites and patches them to work with ngspice. So, how to install? The file geda-parts.scm is not installed on my system. Seems like it's not in Debian and has to be installed manually[3]. Ah, it's in apha state. Here it goes: cd /tmp wget http://www.h-renrew.de/h/spicelib/download/spicelib-0.0.3.tar.gz tar xf spicelib-0.0.3.tar.gz make # starts downloads Then it fails at: rm -rf model_library/nxp/diodes mkdir -p model_library/nxp/diodes cp unpack/nxp/diodes/* model_library/nxp/diodes scripts/fix_trailing_newline.py model_library/nxp/diodes/* patch -d model_library/nxp/diodes/ -p1 < model_patches/nxp_diodes.patch patching file BAS16H.prm Hunk #1 FAILED at 1. 1 out of 1 hunk FAILED -- saving rejects to file BAS16H.prm.rej patching file BZV85-C33.prm Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. 2 out of 2 hunks ignored -- saving rejects to file BZV85-C33.prm.rej patching file PDZ4.7B.prm make: *** [create_nxp_diodes] Error 1 Seems like this needs some more attention.. [1] http://www.h-renrew.de/h/spicelib/doc/index.html [2] http://zwizwa.be/darcs/pedal/onepole.sch [3] http://www.h-renrew.de/h/spicelib/download/spicelib-0.0.3.tar.gz Entry: Gnucap Date: Mon Jan 10 09:52:39 EST 2011 There's gnucap[1] as an alternative to ngspice. [1] http://wiki.gnucap.org/dokuwiki/doku.php?id=gnucap:manual Entry: PCB hotkeys Date: Tue Jan 24 19:24:28 EST 2012 [1] http://pcb.gpleda.org/pcb-20110918/pcb.html#Common Entry: Restarting from scratch: making new symbols Date: Wed May 14 13:37:33 EDT 2014 Simplest seems to be to start from an existing one. gschem will start up in symbol edit mode if it loads a file with a .sym extension. So how to set up the library path?