Footprints (was Re: Some questions about conventions)

Werner Almesberger werner at openmoko.org
Fri May 22 23:22:30 CEST 2009


?lvaro Lopes wrote:
> - Shall we draw right away the footprints, if not available ?

First of all, we have to be a little careful about what's available.
There are some footprint collections that are converted straight out
of Eagle or other commercial packages, and are almost certainly not
free for reuse.

So if in doubt, I'd rather reinvent a few wheels than to risk
contamination. 

Then, not all footprints are created equal. Besides vendors
sometimes using slightly different dimensions, footpints can also
vary depending on process. E.g., wave soldering tends to have
larger footprints than reflow, and footprints optimized for manual
soldering may have elongated pads.

We have two sources for sanity-checking footprints: 1) the vendor
documentation where available, and 2) the Openmoko Gerbers.

Now, when it comes to making our own footprints, there's the
problem that I find the footprint ("module") editor of KiCad
almost unusable for SMT. SMT components often have complex
geometries and don't always fit into a grid pattern.

Worse yet, without a way to either have parameters visually
tied to dimensions or dimensions visually measured, it's almost
impossible to tell if a footprint is correct. WYSIWYG isn't so
great if 0.1 mm may decide success or failure of the whole
project.

However, there are alternatives:

Dave found a pretty cool footprint maker than may help in some
cases:
http://kicad.rohrbacher.net/quicklib.php

For my own projects, I just script the footprints in Perl:
http://svn.openmoko.org/developers/werner/gta02-core/components/kifps.pl

That way, I can use the parameters from the data sheet and follow
(more or less) the implied construction rules. However, it's a bit
awkward to script components.

So I was thinking of writing something new that uses a scripting
approach but with a graphical interface that lets one check the
results after each step. The output would be KiCad modules (i.e.,
footprints). Fortunately, the number of different graphical
elements in a footprint is very small, so this shouldn't be too
much work. (Famous last words, I know ;-)

- Werner



More information about the Gta03 mailing list