Tuesday, 3 May 2016

Adding images to the silkscreen in gEDA PCB

There are a few ways to add images to the silkscreen layer in gEDA PCB.

On method is to use potrace or Inkscape to create a postscript file, and then use pstoedit to generate PCB layout data to insert into a layout; this is well described at:

http://letsmakerobots.com/node/38709

and at:

http://www.leniwiec.org/en/2012/02/09/adding-images-into-pcb-layout-with-geda-pcb-app/

i.e.

using potrace to convert an image to eps:

potrace -o picture.eps -H .4 -W .5 picture.bmp

Or save a picture as eps from Inkscape...

Then use pstoedit to turn it into PCB layout data:

pstoedit -f pcbfill picture.eps picture.pcb -ssp


Another option is to turn an image into a footprint.

I have written a small utility to convert jpeg or png images into a gEDA PCB footprint which has dots in the silkscreen layer of the footprint.

The size of each dot is based on the luminosity of each corresponding pixel in the original image.

The utility can be found at:

https://github.com/erichVK5/image2footprint

It is assumed that the pixels will be white silkscreen dots on a dark background soldermask on the manufactured PCB.

Unwanted features or transparent layers should be coloured black with a graphics editor like the gimp before conversion with the utility.

An additional use is to convert a photograph of a PCB into a footprint. Use of a graphic editor like the GIMP in such a scenario can be used to increase the contrast between the tracks and surrounding fibreglass, and provide an image against which tracks can be laid in gEDA PCB to duplicate the original PCB. Manually highlighting pads with white dots in the image before conversion would also simplify snapping elements to the PCB features. Ensuring the source image is sized to match the original PCB, and that a suitable dot pitch is selected to ensure the footprint width and height equal the PCB's width or height should allow for relatively accurate and rapid duplication of an existing PCB from a photograph or scan.

A source image


The footprint in PCB:



A rendered gerber of the exported footprint: