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:
eagle_logos_1_import_bmp

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:
eagle_logos_2_import_bmp_invert

Importing to the restrict layer:
eagle_logos_3_import_bmp_restrict

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

All three options were added to a small board:
eagle_logos_5_three_options

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

Layer 41 was hidden, showing only the copper layer:
eagle_logos_7_layer41_hidden

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

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:
eagle_logos_9_pour_too_thin

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:
eagle_logos_10_configuring_thicker_pour
eagle_logos_11_thicker_pour

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.
eagle_logos_12_final

Here are the board and gerber files used above: eagle_logos.zip

Tagged with: , , ,
Posted in Electronics

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>