Cyril Hrubis

Cyril Hrubis
email: metan{at}
mailing list email: metan.lists{at}

Pcb Utils

Is a footprint generator library that will do all the hard work with creating footprints, as well as it's collection of footprint generators.


The library is written in C and consists of core library along with footprint generators and bash wrappers that pass default parameters to generators in order to create all possible footprints. You can obtain all possible footprints just by typing 'make' in root directory of project sources.

So what can it really handle?


The most basic example of code for footprint generator in C. We are creating footprint for generic smt diode.
#include "fpg_common.h"

int main(void)
	 * Print backend generated data to stdout

	 * We are working with micro meters.
	 * NOTE: the library works with integer numbers
	 *       passed as arguments.

	 * Set line thickness.

	 * Start element with description

	 * create two pins
	fpg_pin_default(0, 0, "Pin_1", "1", "square");
	fpg_pin_default(10000, 0, "Pin_2", "2", "");

	 * Draw generic diode betwen pins.
	fpg_diode(0, 0, 10000, 0, FPG_DIODE_GEN);
	 * Close element.


The library is distributed under GPLv2 and I really would like to see and merge your patches ;).
Download first published version here

Help wanted

The goal here is to create collection of footprint generators that can generate all the footprints that you will ever need. Why generators? Why not just the footprints? Yes, I could just create some missing footprints and add them here but with every small change I'll end up changing all the files. Generators are backend independent, so If we need to change format of output files it's just a few lines. In shorter words it's just much more universal solution.

Note: The library is in alpha state, all comments and patches are welcome. The api may change a bit so page describing all usable functions is not here right now. Stay tuned.


Prelimiary api documentation available here.


For footprints generated by pcb_utils click here.

Copyright 2009, all rights reserved unless specified otherwise. is maintained by DJ Delorie