Importing Bitmapped PCB Images Into Eagle CAD
There are lots of old magazine articles and electronics handbooks out there that include project printed circuit board (PCB) images. This is great for seeing how the circuit is laid out but what do you do if you want to actually produce the board?
I ran into this problem over the Labor Day weekend when I was looking to put together a Pixie2 QRP transceiver. I was able to find the image for a PCB online but it wasn’t to the correct scale when printed.
Then I remembered you can import bit-mapped (BMP) images into Eagle. It’s normally used to put logos and such on a PCB but it turns out with a little preparation you can import a whole PCB image that way.
Preparing The Board Image
Before beginning you need a suitable image of the PCB you want to import. For this example, I’ll use the image I pulled from online for the bottom layer of a Pixie2 PCB.
Calculate at least one of the physical dimensions of the displayed board. To do this, look for reference points of known size on the board and use them to determine the image scale. For example, on the Pixie2 board image toward the bottom center you can see what appears to be holes for an 8-pin dual-inline package (DIP) integrated circuit. Knowing these holes will be on .1″ centers allowed me to determine this board is 2″ wide.
Load the image into an image processing program and resize it, maintaining the aspect ratio and setting the number of pixels in the known dimension to the number of mm * 100. (I used IrfanView on Windows. You can probably to the same with GIMP on Linux.)
So for example, the image above is 2″ in the x dimension. There are 25.4 mm/inch so the image was resized to have 5080 pixels in the x dimension. Save it as a 2 color bit map (BMP).
Importing The Image Into Eagle
The PCB image can now be imported into Eagle using the process for a BMP image. The instructions below are based on those from the Dangerous Prototypes site, modified where necessary.
Open Eagle and create a new project. From the schematic entry form, click the Board icon to go to the board entry form.
Run the import-bmp.ulp script (“run import-bmp.ulp). Click OK to proceed
and select the 2 color BMP image you created above.
When prompted to select colors, select black. This corresponds to the traces in the BMP.
At the Eagle Info screen, let the format as scaled, set the units to mm, and set the scale factor to .01. You can also change the layer to which the pixels are imported but I left mine set to 200.
When you click OK, the ulp will create a script that when run will draw the PCB on the specified layer. Click “Run Script” when prompted and the import is complete.
You can repeat the process to import the second side of a double-sided board.
At this point you have a few options. If you’re producing your own boards you can print and use the imported image directly. The photo below shows a board I produced from the image above using the toner method, waiting to be drilled and populated.
It’s important to remember that this process does not produce a schematic, just traces. However, if you want a full set of files you can enter the parts on the schematic editor and use the image as a component placement and connections guide, which is certainly easier than designing the board from scratch.