DGK electronics logo on a PCB

DGK electronics logo on a PCB

I wanted to add a logo to a PCB but it took me a bit of googling and trial-and-error before I got it right so I decided to share my findings. KiCAD already includes a tool called bitmap2components which can convert an image to an eeschema symbol or a pcbnew module. I was trying to add a logo to my bottom layer but it seemed you could just add a logo to the silkscreen layer through the bitmap2components tool.

How to convert a logo to a logo on a copper layer

After you have a black and white logo, you need to convert it to a .mod file with the bitmap2components tool. If you want the logo on the bottom layer you want to flip your logo (so it’s “the wrong way around” when you look at it). Then press “export to pcbnew” and name the file (make sure you put a .mod extension to the file). After you have saved the .mod file you need to modify the file with a text editor.

Open the .mod file with a text editor and find all the lines starting with “DP” such as “DP 0 0 0 0 26 1 21“. The last number ie. 21 specifies the layer where that graphic is located and 21 is the top layer silkscreen. Change the number 21 to 15 on every line which starts with “DP“. Gedits search and replace is a handy tool for this. This changes the silkscreen graphics to be located on the top layer.

After you have modified the .mod file you can just import that library to pcbnew and add a new module which is your logo. You can change the layer from edit module to bottom if you want to.

The only problem is that a ground fill does not avoid your logo so it will cover it. I worked around this by making the ground fill polygon go around the logo. Let me know if you know a way how to make the ground fill to avoid the logo so it shows up!

DGK electronics logo on KiCAD

DGK electronics logo on KiCAD

Categories: KiCad Tutorial

7 Responses so far.


  1. John says:

    Great tips,Kalle! Have you tried modifying the logo to a keepout polygon, so that no tracks or polygons can cover the logo?

  2. vs3 says:

    Exactly what I was looking for! Thanks a lot!

    Also – I wanted to put the image on one of the other layers but didn’t know which number is which layer … until I found the documentation 🙂

    http://en.wikibooks.org/wiki/Kicad/file_formats#Layer_numbering

  3. Mark says:

    Thanks for the nudge, any idea how to make the copper area excluded from the solder mask?

    • Nope! If you find out how to do that let me know.

      • Good tip here, thanks for sharing. To exclude the soldermask, make a separate logo and then do the same thing, except replace the 21 with 23 (the soldermask layer). Overlay it over top of the copper layer logo and that part will remain exposed.

    • David says:

      You may hove some luck by simply creating a schematic component “logo” that has a footprint of “logo” (assuming your logo module is called logo)
      make sure the schematic component has 1 pin (not hidden)
      and the module has one surface mount pad (hidden in the copper of the logo)

      place a no connect marker on that pin when you are drawing your schematic.

      now the gnd plane should avoid the logo.

      I haven’t tested this so ymmv.

      if you don’t want a boarder there is a setting
      in the module properties “local settings” tab “copper zone>Pad connection” set this to “solid”

      If this doesn’t work let me know 🙂

Leave a Reply