How to put a Logo on a PCB in Altium
This guide will explain how to take a Logo (or other simple image), that is in a digital format (BMP, JPG, PNG, etc), and turn it into a 2-tone Silk Screen Overlay in Altium Designer. The guide was created with AD10 but the process should be similar for other versions of Altium.
Contents
Assumptions
- You've got Altium Designer 10 installed
- You've got a graphics editing program available such as MS Paint, Adobe Photoshop, or (my preference) GIMP
The Guide
Preparing Your Image
The idea behind preparing your image is that whatever goes on the PCB can really only be a two-toned image (ie: black and white). As a result, to get the best looking PCB image possible, you need to do a little image work up front to ensure that your image works with the import process. You can use a number of image processing programs to do this work. The instructions below are provided for GNU Image Manipulation Program (GIMP) version 2.6. GIMP is a cross-platfrom, free and open-source image manipulation program similar to Photoshop. Visit the official GIMP Website to learn more about it or download a copy.
- Select your starting image. The best starting images are 2D images with only solid colors (ie: no gradients). For this example I'll use a fairly "ideal" image. You can make others work, it just takes more hands-on detail work. To begin with I've chosen this dashing picture of our beloved plumber/hero, Mario.
- Open GIMP and Open our Mario image using the File->Open dialog (or by hitting Ctrl+O).
- Firstly, lets try to convert this image in one step.
- Select Image->Mode->Indexed... from the menu bar.
- Choose "Use black and white (1-bit) palette" radio button and click "Convert"
- This process essentially converts the image to gray-scale, puts a threshold somewhere and says "everything lighter will be White, everything darker will be Black". In this case the image lost a lot of detail (not to mention there are a few blemishes represented by white dots in the black fields. This doesn't look good so we're going to help the Converter make better decisions.
- To maintain contrast we'll lighten the areas we want to become white that previously got thresholded to black
- Choose White (or any light color such as Yellow) for your foreground color
- Select the Bucket Fill Tool (Shift+B)
- Fill in areas, such as his Blue overalls, that you'd like to end up being White.
- Pay attention to, and use, the "Threshold" option under the Bucket Fill Tool Options. I ended up using a Threshold of 125 for the Blue and Red areas and a Threshold of 50 for the Brown boots.
- I left his face and hair alone because it turned out the way I wanted to the 1st time. You could fill these without any negative consequence.
- Now convert the image to 2-tone again
- This looks much better but there are a few blemishes that we'd like to fix since the resulting logo will be, potentially, used many times. Using GIMP's Pencil Tool we can fix any errant black or white dots.
- That's it! We're now ready to move on to the next step to import our prepared image into Altium.
Importing the Image into Altium
- Download the Altium Example Scripts from here.
- Extract the Scripts folder to "C:\Program Files (x86)\Altium\AD 10\Examples\" (or whever your Altium Examples folder is located)
- Run the PCBLogoCreator
- If you're going to be using this script a lot, load the PCBLogoCreator.PRJSCR Script Project into your Altium Workspace. This can be done in 1 of 2 ways:
- Navigate to "C:\Program Files (x86)\Altium\AD 10\Examples\Scripts\Delphiscript Scripts\PCB\PCB Logo Creator" and double click "PCBLogoCreator.PRJSCR".
- Start Altium, select File->Open... and navigate to PCBLogoCreator.PRJSCR and click "Open".
- If you only want to use it sparingly you can do the following:
- Start Altium
- Click the "DXP" button in the upper left corner & select "Run Script..."
- Click "Browse" in the lower right and navigate to the PCBLogoCreator.PRJSCR file. Select it and click "Open".
- If you're going to be using this script a lot, load the PCBLogoCreator.PRJSCR Script Project into your Altium Workspace. This can be done in 1 of 2 ways:
- Now, regardless of which method you just chose to use do the following
- Click the "DXP" button in the upper left corner & select "Run Script..."
- Click "RunConverterScript" and hit "OK"
- Now a new PcbDoc should have opened and a "PCB Logo Creator" dialog box appeared.
- Click "Load" and select the .BMP file you prepared above.
- Select the "Board Layer" (I recommend Top Overlay for most purposes).
- Select the "Scaling Factor" (you're going to have to experiment with this but 1000 mils = 1 inch).
- Choose any check box options you want (typically you won't need any).
- Hit "Convert" & wait a bit.
- Once the conversion has completed click the "Exit" button
- Now you have a Logo built out of Top Overlay lines! You can get it onto your chosen PCB via Copy/Paste or make it reusable by reading the next section.
Making your Imported Image reusable
- Create a Footprint and import the image into a Footprint Library (.PcbLib)
- At this point you should have a .PcbDoc with a Top Overlay instance of your Logo
- Hit Ctrl-A (to highlight all objects on the .PcbDoc)
- Hit Ctrl-C (to copy everything to the clipboard)
- Click somewhere near the center of the logo
- Open up an existing (or create a new) .PcbLib
- File->New->Library->PCB Library
- Right click on the "Components" Pane under the "PCB Library" Tab
- Select "New Blank Component"
- Click in the main PCB window & hit Ctrl-V & click to paste everything into the Component
- Double click the "PCBComponent_1" in the "Components" Pane and give it a meaningful "Name" and "Description" like "My_Logo_Footprint", "Logo for my new awesome circuit board company!"
- Save the .PcbLib
- Create a Schematic Puppet to tie the footprint to
- Open up an existing (or create a new) .SchLib
- File->New->Library->Schematic Library
- Click the "Add" Button on the "SCH Library" Pane to create new Puppet and give it a name like "My_Logo_Puppet"
- Create a shape that can be placed on a Schematic to indicate a Top Overlay Image
- I Typically make it a descriptive text box
- Place a Text Frame
- press P for Place
- select Text Frame
- Change the options of the text frame by pressing Tab before you place it double clicking after you place it
- Change the Text Color to Yellow
- Change the Border to Red
- Change the Fill Color to Blue
- Check the Show Border box
- Change the Border Width to Medium
- Click the Text "Change..." Button and make it say something meaningful like "My Logo"
- Fix the Settings and Link the Footprint you made in your .PcbLib to the Puppet you made in your .SchLib
- Double Click your "My_Logo_Puppet" item in the SCH Library Pane
- Change the Default Designator from "*" to "SS?" (SS for Silk Screen)
- Click the "Add..." in the Models Box
- Hit "OK" for "Footprint"
- Click "Browse"
- Choose your .PcbLib from the Libraries selector at the top
- Select the Footprint you created, "My_Logo_Footprint" in this example
- Click "OK"
- Click "OK"
- Click "OK"
- Save the Library
- Now you can place your logo onto your schematics you are create which will then be imported onto your PCB with the rest of your components!
- You may want to hide the designator associated with your logo on your PCB. You can do this by...
- Double click on the logo's designator (SS1 for instance) on your PCB to bring up the Settings window
- Check the "Hide" box
- Click "OK"
- Open up an existing (or create a new) .SchLib