Negative Copper Art in KiCad

Aeris
The BKPT
Published in
5 min readSep 1, 2019
My PCB badge of the Crest of Flames from Fire Emblem: Three Houses.

Negative copper areas on a PCB are not a functional component, so KiCad has not gone out of its way to support this feature. Negative copper areas are useful for creating creative PCB badges or other art. The internet is missing a tutorial on how exactly to achieve this, so I’ve written up my findings on how to do so.

The high level summary is to create a positive copper footprint of the intended negative area, and then use the copper fill option to surround the positive copper footprint.

The image at the top of this post is a board I designed that required a negative copper area. The cut out allows light from the right-angle LEDs to shine through to the other side of the board.

This guide was written using KiCad version 5.1.4.

The Bitmap

The bitmap I created for my board.

Create a bitmap that represents the negative copper area. I created my image with GIMP. The image needs to be one uniform hue since it will be imported into KiCad by selecting the pixels that are greater than some minimal brightness threshold.

If you have a multi-color image, you will need to save each unique color as its own image. These images will later be imported into KiCad color-by-color. Your design is limited to four colors — the silkscreen, the solder mask over copper, the solder mask over the board’s substrate, and the substrate.

The image should be at least 300 DPI and larger than your intended footprint size. The bitmap does not need to be in a vector format (lucky us!).

Create the Footprints

Import the bitmap into KiCad using Bitmap2Component. To do so, open KiCad, and click the button circled above.

Choose Load Bitmap and select the image you've just created. Modify the DPI fields to adjust the size of the image. This is the only place to resize your footprint, so be sure that the size listed under Bitmap Info is your final, intended size.

In the Black&White Picture tab, you will see a preview of the footprint that will be created. Tweak the Black / White Threshold slider until your entire image can be seen in black.

Under Format, choose Pcbnew (.kicad_mod file). Under Board Layer for Outline, any layer will do—we will be editing this later. For the purposes of my explanation, choose Front Solder Mask.

Choose Export when you are satisfied with your selection.

Next, open your new .kicad_mod file in a text editor. Change the layer of this footprint by finding and replacing all instances of F.Mask with your new target layer. We will need to create one copy of the footprint that is on the F.Cu layer and another copy that is on the F.Mask layer.

Importing to Pcbnew

Open Pcbnew. Add the new footprints we just created — both the copper and solder mask footprints. Align them so that they perfectly overlap.

Next is the important step. We currently have a positive copper footprint placed and will use the copper fill feature to create the negative copper area.

Click Add filled zone in the vertical, right hand bar. Click once to place the first point of your fill zone. This will bring up the dialogue box pictured above. Use the following settings.

  • Layer: Layer on which you imported the positive copper footprint
  • Net: GND
  • Clearance: 0.0254 mm
  • Minimum width: 0.0254 mm

These are the minimal allowed clearance and fill widths. Click Ok. Finish drawing the fill zone. Press b to update the fill zone.

I also had to draw fill zones for the islands of copper within my crest design.

Once you’re satisfied with your board, delete the positive copper footprint.

The end result leaves solder mask border around intended image, which looks great for my purpose. If you don’t want this border, keep reading for an alternate approach.

Alternative

Say you don’t want the dark, solder mask border around your intended image, then the following is one way to achieve that result.

Our goal is to create a bitmap of the positive copper area with the negative copper already cut out.

First, draw the edge cut shape in some image editor — I used Inkscape for this step. Import the positive bitmap image. Convert to a path. Exclude the positive vector from the path of representing the edge of the board (In Inkscape: Path > Exclusion). Export as a PNG.

Create new footprint with Bitmap2Component with the same steps as described above.

In Pcbnew, add the positive solder mask footprint and the footprint of the entire board we just created. Done.

Downsides

The downside to this approach is that the excluded pattern and positive pattern may not line up perfectly due to rounding error in Inkscape’s exclusion algorithm. As you can see in the image in this section, you can see some exposed copper along the edge of my imported pattern.

Another drawback with this approach is that you will not be able to use a copper fill on the PCB layer with the art and you won’t be able to draw traces on this layer of the board.

Designs on the Back of the Board

Note that if your design is on the back of the board, you will need to horizontally flip the bitmap in GIMP. When KiCad imports footprints, it will always import it to the front of the board. After you’ve added the footprint into Pcbnew, use f to flip to the footprint to the back of the board. f also rotates the footprint by 180 degrees, so you will need to use r to rotate the footprint.

Voilà

And there you go, negative copper areas in KiCad. Not the most straight forward process, but it gets the job done. Feel free to reach out with any questions!

--

--

Aeris
The BKPT

Will probably use this blog to write about video games.