Complex Graphics in Eagle

eagle_logos_12_finalEagle has the ability to load images into library components and directly onto boards using the import_bmp.ulp user language program. import_bmp.ulp imports an image as a series of thin horizontal pieces; this works well on the silkscreen layer, but will generate errors on the copper layer as the pieces are most likely thinner than the minimum trace width your DRC is configured to check for. I have been searching for an easy way to import relatively complex logos and graphics and have them load onto the copper layer effectively without hundreds of errors. Loading the logos into the restrict layer seems to work well.

For this example, I will import the logo from the University of Alaska Fairbanks into my Eagle libraries. The logo without text was taken from the UAF branding site’s alternative options. Gimp was used to resize the source image to 3000×1500 and threshold it to be black and white. I have had more luck using a large input image and a small conversion factor than the other way around. MSPaint was used to resave the bitmap as a monochrome bitmap. The image was imported three times; one to layer 1 (Top) and layer 21 (tPlace) by selecting the black sections, and another to layer 41 (tRestrict) by selecting the white sections. The target size was .5″ tall. The pixel/mil conversion factor should be 500 mil/3000 pixel or .1667.

Importing to the silkscreen layer:

The restrict-layer image is an inverse or the image, and copper will be added at a later step. Selecting the white color for the restrict layer:

Importing to the restrict layer:

These three packages were connected to a single symbol that consists of the text “UAF” and added to a single UAF_LOGO package:

All three options were added to a small board:

A copper pour is added on top of the restrict logo:

Layer 41 was hidden, showing only the copper layer:

When the DRC is ran, it throws a lot of errors on the copper pour due to the small lines:

I deleted the copper object to clean up error list. Note that the copper pour also throws a single error, as I set the width to 0:

If the width is set to 6 mil (the minimum for OSHPark’s pcb service) the error goes away, but the pour fails to fill every detail of the logo:

It is clear this isn’t a perfect approach, as it requires two steps to add the logo. Adding the restrict object from the library and the copper pour is more complicated than simply adding the copper object. If the logo has too much detail, the width of the pour needs to be small enough that it generates a DRC error as well. I’m not sure what the results of having these two approaches manufactured would look like; while Eagle generates a large number of DRC errors, the I suspect the gerber files would be very similar and I’m not sure if board houses have a preference on etching one over the other.

Here is a quick shot of the board with a zero-width copper pour using Mayhew Labs’ 3D Gerber Viewer to see the resulting gerber files. The layer 1 logo and restricted-copper approach logo appear indistinguishable in this viewer.

Here are the board and gerber files used above:

Posted in Electronics Tagged with: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *