Kai-Martin Knaak

Kai-Martin Knaak
email: kmk@familieknaak.de

General remarks

The catalog of symbols and footprints presented here is self consistent. That is, the default footprint attribute of a symbol points to one of the footprints given in the footprint section.

Note: All my symbols, footprints and scripts are licensed GPL 2 or GPL 3 for distribution, and unlimited for use. See http://www.gnu.org/licenses.gpl.txt for the details

New Geda Project Script

new_geda_project.sh is a little convinience script to start a new geda project. When given a project name, it creates a directory structure and populates it with some config files (gafrc, attribs). In addition, it copies a documentation template in lyx format to the directory. It does the same with the bash scripts bomdruck.sh and layoutdruck.sh (see below). The script includes an option to initialize a git repository for the project.

Script to print a bill of materials (BOM)

The almost trivial bash script bomdruck.sh uses gnetlist to derive two versions of a bill of materials. The first lists one component per line. The other collates all components with the same value.

Scripted print of pcb layouts

The bash script layoutdruck.sh uses PCB actions on the command line of pcb to produce a set of printouts for use in documentation. The print is geared to facilitate population and debugging of prototypes. It produces a multi page PDF with top and bottom layout, each with values and with refdes. The layout can be spread between several sheets for large layouts. Optionally, there is a bottom view overlayed with a mirrored view of top silk. This x-ray view comes handy with thru hole designs.

In addition, photo realistic PNG export of top and bottom side is produced. A drop shadow is added to the PNG to make the image even more photo realistic.

Note, there is a bug in pcb that prevents the execution of actions when printing from the command line. This script needs a bug patch of pcb not yet applied to the distributed version of pcb.

PDF export of all schematics in a hierarchy

The bash script schaltplandruck.sh uses print.scm from the gnetlist distribution and ps2pdf to create output. It recursively descends into subsheets of a hierarchy and collects prints every unique schematic it encounters.

More scripts

  1. set_pinnumber.awk: Emits the footprint file given on the command line with the value of all pin and pad names set to the value of their number. Requires awk.
  2. set_name_value_description.sh: Sets name, value and description to the same string. I use this script for footprint collections in the library.
  3. set_clearance.sh: Sets the polygon clearance and mask clearance of pins and pads. This is useful for footprint generation or to comply with specific fab requirements.
  4. set_linewidth.sh: Sets the width of silk lines in footprints. Default width is 0.2 mm.
  5. extract_footprints.sh: Extracts all footprints of a layout and writes them to individual files in the currrent working directory.
  6. find-missing-symbols.sh: Searches all *.sch in $PWD and sub dirs for missing symbols.
  7. collect_gedaconfs.sh: Collects the config files in $HOME/.gEDA and $HOME/.pcb into a compressed tar file.
  8. set_number_of_pages.sh: Sets the attribute "number_of_pages" of all schematics files in the current working directory. This is a work-arround for the absence of methods to handle global attributes in gschem.
  9. set_net_of_port_symbol.sh: Sets the net attribute of port symbols to the value given by the refdes. With this setting gnetlist connects all ports of a kind. Else, only the first instance of the port with a given refdes receives connection to the parent sheet.
  10. set_width_of_selected_lines.sh: Manipulates the width of selected lines. Divides or multiplies line width by 10. This can be useful to temporarily suppress DRC warnings. E.g., if some layers require tighter DRC rules than others.
  11. layer_content.sh: Cut, or paste the content of a layer wholesale from a layout.


Essential Lib

The essential lib is an effort to put together an improved default library for geda/pcb. Unlike the current default libary it is supposed to be usable as is.


The symbols in this sections are designed according to the following design criteria:
  1. they contain a default footprint attribute.
  2. the footprint attribute is visible on the schematic and printed with a smaller font size than the refdes and the value of the symbol.
  3. they contain a human readable description
  4. power pins of integrated circuits are split off to a seperate power symbol
  5. pin numbers are hidden, if they follow a generally accepted standard

Title blocks

These title blocks include attributes for date, author, project name and page number. These port symbols connect subsheet nets with pins of subsheet symbols on the master sheet.


Some convenience templates for symbol creation.


Various Discretes



Generic integrated analogs





Specific integrated analogs


I don't do much digital electronics except for some basic 74xxx components...



CPLD Altera MAX II EPM240T100

Clock Dividers

Analog Switches


Power symbols




These are blocks of subcircuits I frequently use. They contain some of the above symbols. Add them to a circuit with the option "Include-as-individual-objects" checked. See the wiki for details. For some blocks preview does not work correctly because I did not embed the symbols. This is deliberate, because I want the blocks to track my changes to symbols in the library. Consequently, there is no way for gschem running on the geda-symbols server to find the symbols contained in the blocks. However, these blocks will work, if you have installed my symbols locally.


template pcb

The template.pcb may be used to start drawing footpints with the pcb GUI. Layers and sizes are set to reasonable default values.


These footprints are meant to supersede the ones from the default library. They are designed to meet the requirement of densely populated boards with too little space to place the refdes or value between the components. Therefore the text is placed inside the frame. Pad size is generous for easy manual soldering.

pin headers

misc. connectors


  • BNC_LAY_BOTTOM.fp - like BNC_LAY.fp, but to be mounted on bottom layer with silk on top layer
  • BNC_LAY.fp - BNC socket, model telegärtner J01001A0037 or J01001A0038, horizontal mount
  • BNC_LAY2.fp - model telegärtner J01001A0037, can be mounted vertically too
  • BNC_VERT.fp - model telegärtner J01001A0037, to be mounted vertically, on either side of the pcb
  • BNC_VERT2.fp - model telegärtner J01001A0037, to be mounted vertically
  • BNC_VERT3.fp - model telegärtner J01001A1945, or J01001A1944, vertical full metal recepticle
  • BNC_DUAL_BOMAR364.fp - BOMAR series 364, dual BNC, stacked vertically
  • HF_multi.fp - multiple model HF connector. Fits various generic BNC and SMA recepticles
  • SMA_LAY.fp - SMA recepticle, telegärtner J01151A0191
  • SMA_VERT.fp - SMA recepticle, telegärtner J01151A0931
  • SMA_edge.fp - SMA recepticle, soldered to the eddge of the PCB. E.g Amphenol 132255
  • SMA_edge2.fp - Same as SMA_edge.fp but no ground pads on the top layer
  • DVI


  • PS_1x2PIN.fp - JAE model IL-G, 10 pin
  • PS_1x2PIN_LAY.fp - same as above, horizontal mount
  • PS_1x3PIN.fp - JAE model IL-G, 10 pin
  • PS_1x3PIN_LAY.fp - same as above, horizontal mount
  • PS_1x4PIN.fp - JAE model IL-G, 10 pin
  • PS_1x4PIN_LAY.fp - same as above, horizontal mount
  • PS_1x5PIN.fp - same as above, horizontal mount
  • PS_1x5PIN_LAY.fp - JAE model IL-G, 10 pin
  • PS_1x8PIN.fp - same as above, horizontal mount
  • PS_1x8PIN_LAY.fp - JAE model IL-G, 10 pin
  • PS_1x10PIN.fp - JAE model IL-G, 10 pin
  • PS_1x10PIN_LAY.fp - same as above, horizontal mount





    Generic Discrete Components














    1. VISHAY_T18.fp - multi turn cermet potentiometer, length 19 mm, series VISHAY T18, or BI technologies model 89
    2. panel_mount_BI898.fp - panel mount for multi turn cermet potentiometer, lengthhole BI technologies model 898
    3. trimmer_VISHAY_T93YB.fp - multi turn cermet potentiometer, height 10 mm, series VISHAY T93YB, or BI technologies model 67Y
    4. trimmer_VISHAY_T93YA.fp - multi turn cermet potentiometer, height 10 mm, series VISHAY T93YA, or BI technologies model 67W
    5. ALPS_RK09K111.fp - potentiometer by ALPS, horizontal mount
    6. ALPS_RK11K112.fp - smooth potentiometer by ALPS, horizontal mount
    7. ALPS_RK11K113.fp - smooth potentiometer by ALPS, vertical mount
    8. BI_MODEL35.fp - miniature SMD single turn trimmer, e.g, BI technologies model 35
    9. SPECTROL_534.fp - cost effective precision potentiometer, series SPECTROL 534




    A changelog of this section of geda symbols is here

    Copyright 2012, all rights reserved unless specified otherwise.
    gedasymbols.org is maintained by DJ Delorie