Skip to content

Image Importer

Nick Poole edited this page Apr 15, 2018 · 20 revisions

Getting Started

The Buzzard Image Importer is designed to serve both the practical purpose of silkscreen logo creation as well as the artistic purpose of "PCB Painting," or composing an image using a combination of the mask, silk and copper layers of the PCB. In theory, it could also be used to import complex geometries to the copper layer for applications such as RF design.

When you open the Image Importer, you'll find a preview pane on the left side that looks like a piece of bare FR-4. You may notice the faint "BUZZARD" stamps on the canvas, this is not a watermark and will not appear on your converted image. It's intended as a visual cue to the fact that there is no solder-mask present. On the right side are a series of controls labeled for each of the three configurable layers.

Image Importer Interface showing a preview canvas on the left and some form fields on the right

Basic Silkscreen Import

To begin, choose the image file that you want to import. The tool should support any image type that your browser will render into a canvas object including JPG, GIF, BMP, PNG, SVG and more. After you've selected your file, nothing will appear in the preview pane until you've chosen a layer to render. Since we're importing to the silkscreen layer, check the "Render" box under the silkscreen controls. You should notice that your image is now in the preview pane. By default, Buzzard will render the silkscreen layer in white and the soldermask layer in black. You can change both of these by clicking on the color select boxes under each control. Note, however, that this feature is intended for preview only and has no effect on the color of the manufactured product, which will depend on the capabilities of your fab-house.

Image Importer Interface showing the SparkFun flame logo in the preview pane

If you choose to render only the silkscreen layer, Buzzard will change the background to emulate the look of your silkscreen on top of soldermask. Because silkscreen is a single color process, your image has been reduced to a single color using a threshold function. You can adjust the sensitivity of the threshold function using the slider under the silkscreen controls until your image looks the way you intend. You also have the option of inverting the threshold function depending on what you're trying to achieve.

By default, Buzzard will assume that the longest dimension of your image is 405mm long and will calculate the other dimension in order to maintain the original aspect ratio of the input image. Changing either dimension will scale the output image while maintaining its output ratio.

Close up of the size adjustment fields of the Image Import tool: two number fields labeled "output size(mm)"

Clicking the "Download EAGLE Library" button will create an EAGLE library file named after the input filename and containing a single device which is your output image.

SparkFun flame logo in EAGLE board editor

PCB Painting

Representing more complex images and design assets on PCB requires the use of not only the silkscreen layer but also the soldermask and copper layers. Begin by opening an image file to import, we'll be using this adorable drawing of a very good dog:

Drawing of a Pembroke Welsh Corgi in the style of Japanese Animation

Because of the stacking order of the layers, it's often a good idea to start building your output image from the copper layer. Checking the "Render" box under the copper layer controls should present you with your image in a "copper" color:

Drawing of a Pembroke Welsh Corgi processed through a threshold function and presented in an orange hue

It's suggested that you adjust the threshold of this layer before moving on to the next, but you can check "Render" on all layers at once and then adjust their respective threshold functions if you like. Next, we'll add the soldermask layer:

Drawing of a Pembroke Welsh Corgi processed through a threshold function and presented in orange and black

Finally, you can add the silkscreen layer. In this example the best effect was achieved by inverting the silkscreen layer:

Drawing of a Pembroke Welsh Corgi processed through a threshold function and presented in orange, white and black

The color that Buzzard uses for bare copper finish complements the image rather well in this case, but again you have to remember that the color of the final physical object will depend on your fab-house. This same image is likely to look like this if ordered through OSH-Park

Drawing of a Pembroke Welsh Corgi processed through a threshold function and presented in gold, white and purple

Or like this when ordered from traditional fabrication services:

Drawing of a Pembroke Welsh Corgi processed through a threshold function and presented in grey, white and green

But any color combination can be achieved if you find the right manufacturer. The resulting EAGLE library will contain a single device named after the input image file with a footprint that looks like this:

Drawing of a Pembroke Welsh Corgi rendered in the EAGLE board layout editor

Manufacturing Limitations

Buzzard will happily generate completely impractical footprints that may violate your manufacturer's spec. Expect to lose any very small silkscreen features, for instance. That being said, SparkX has been pleasantly surprised by our fab-house's ability to resolve very small features.

In order to create the "soldermask" layer, Buzzard actually inverts the soldermask as seen in the preview pane and generates a "tStop" layer. This means that although your image may appear to be floating in a sea of bare FR-4, the tStop layer only extends to the bounding box of your image and it will be surrounded by soldermask in the manufactured product (unless you add surrounding tStop in the board editor) Most fab-houses will not place silkscreen over bare copper or FR-4. for this reason Buzzard automatically subtracts your silkscreen layer from the tStop so that any silkscreen islands surrounded by copper or FR-4 will be backed with soldermask. It's not uncommon for minor registration errors to occur between the soldermask and silkscreen layers in fabrication.

Also keep in mind that many board houses reserve the right to change your surface finish if it better serves their process. The color difference between ENIG and HASL is significant, so be sure to order carefully.

Technical Details

Images are rendered into EAGLE XML using a rastering technique similar to EAGLE's BMP importer.

The rastering function iterates through each pixel of the cropped canvas object and determines whether each pixel is the start or end of a rectangle. Each rectangle object represents a string of consecutive same-color pixels. The rectangles are sized according to the Scale Factor and when they're rendered by EAGLE, they produce a pixel perfect reproduction of the canvas object. This approach is bloated, but it avoids the difficult problem of slicing nested polygons before importing them into EAGLE, as EAGLE's XML vector format does not support nested polygons.


Buzzard EAGLE Tools


H͟o͟m͟e͟
Welcome

T͟o͟o͟l͟s͟
Label Maker
Barcode Maker
Pad Designer
Image Importer
Library Manager

Clone this wiki locally