DIY audio blog for projects, schematics, PCB's, designs, electronics, mods


Cadsoft EAGLE – Image And Logo Adding To PCB

Whether you’re trying to put a bit of a personal touch to your PCB design or you are in need to use a company logo on your product one thing is for sure. You will need to somehow transfer the image from the graphics software to the EAGLE environment. Here is one approach I’d like to share.
This is a typical workflow of  how to put images onto a finished PCB design. Once completed this approach will allow you to quickly and easily insert your logo or any other graphics into your finished design.

First thing we have to do is to chose a proper format for our image which will be later transferred to EAGLE. When designing you logo or choosing an input image you need to follow some basic rules.
– Use a two color image. Preferably black and white image.
– Use a high resolution image. Low resolution images will result in uneven and distorted edges of the output. This will look bad on the PCB.
– Don’t use a image that is too complex for your PCB manufacturer to print on the PCB. You should be aware of what are the manufacturer’s capabilities for printing graphics on the PCB’s.
– Don’t use images or logos that include shadows or reflections. These can not be rendered in two colors and later on transferred on the PCB. If shadows or reflections are an important part of your logo design you better not use it on the PCB and stick with a simple text printing.

Following those simple rules will ensure you have a great end result. You PCB’s will have a professional look.

Now lets get started.

For this demo I will be using a simple schematic that is already transferred to a PCB and finished. Here is the PCB ready for a logo:

Now for the logo part. We will need something simple and understandable for EAGLE to put onto the PCB. This means we need a two color monochrome image. For this demo I have created a simple demo image:

It is important to say that you need a *.BMP file that is monochrome. Beware that some image files are not two color though they look so. For example, the image shown is not two color. It was created as a 24 bit *.BMP file. EAGLE can not read this image. What you need is to convert this image to 1bit monochrome *.BMP file. This is easily done using Windows Paint. Just open the image and use
Save As -> Other Formats -> Monochrome Bitmap
You will want to save the file with a different name and not overwrite the original *.BMP file. Paint will warn you that saving in this format will result in a loss of information. This is not critical. Please note that for this demo I am using a large resolution file. It is 2545px by 615px.

Now that we’ve prepared the input file it’s time to transfer it to EAGLE.

First thing you need to do is to create a new library. For this in control panel select File => New => Library

Use Save As to save this new library with a suitable name. For this demo I’m saving it as new_logo.lbr Inside the library editor click on Package button to open the package editor. Type the name of your logo in the popup window and click OK. Click Yes to confirm the new package creation.

Now that you have the new package you can import the *.BMP. In the command line type the following command:

run import-bmp.ulp

Click OK and a browse window will popup asking for the input file. Find the location of the file, select it and click Open.

Next you will have to select the color which will be used to render the output.

Experiment here to see what is the output result 😉

After selecting the input color another window will show. This one allows you to scale the output render to suit your needs. For this demo I’m using the following settings:

Under Format table I use DPI setting. This is an easier way for me to predict the render actual size. Units go to Inch as DPI means DOTS PER INCH. Under Dots Per Inch table you must enter the scale factor. This is – how many pixels will fall into 1 inch. For the demo I have used an image that is exactly 2545 pixels in width. This means that if I wanted a 1 inch wide logo on my PCB I would enter 2545 here. To get a larger output you simply need to put less pixels per inch. For example a 5 inch wide logo will require 2545/5 = 509 pixels. This is what you enter here. Under Chose a start layer for 1st selected color enter – 21. This is the tPLACE layer which is used to create the silkscreen printing. When you are finished entering all the values click OK and wait for your PC to calculate the script. On slow PC’s this might take some time. This is what you should see once the script calculation is finished:

This means that you are almost ready. Hit Run script button and watch the logo appearing on you screen.

You might spot a small line at the bottom left corner of the logo. This is actually a text that shows the input file used for the render. Go ahead and delete it as this is not used.

If you have reached to this point you are almost done. Now all you have to do is to save the library changes (Ctrl+S).

Go to Control panel and use View => Refresh. Find the new library that you have just created and click the little green dot on the right of it. Now go back to the layout editor when you see your PCB. Click Add and find the library. The logo should appear as a component now. You just enter it straight onto the PCB. You can rotate it as you want.

This is how the PCB looks now:

Though this method is a bit long it gets really easy to use once you have created a set of logos you need. I hope you enjoy this feature of EAGLE and use it to create more professional looking PCB’s



TDA2050 – High -end version. The Gainclone Rival.


Unbalanced to Balanced Converter For Audio With DRV134


  1. Alvin Smith

    This is really great inspirational post!I really like your creative work keep it up…pcb assembly

  2. Salman Sheikh

    How do you remove a logo from a design?

  3. Using this method will create an origin at the bottom left corner of your logo. You can do with it just about anything including delete.


  4. NurseBob

    I note that TI puts their logo elements on the tnames layer; do you do the same, or just go with the default for a pcb element?

  5. You can use any layer that you intend to print. Since those are usually tPlace and tNames I use either.


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Powered by WordPress & Theme by Anders Norén