I decided to give PCB art a try and will be basing my attempt on methods described by Andrew Sowa.  Andrew uses Adobe Illustrator for the art work and KiCad for the PCB design.  I will also use KiCad but will use my trusty pre-subscription version of Photoshop for the artwork.  Inkscape is another possibility.  Andrew's process is described in this video from which my work is derived.  The detail behind many of the steps won't be described in this post - watch the video for that.


The goal is to take a photograph, painting, etc. and place it on a PCB using the FR4, copper layer, solder mask, and silk screen to make the palette.  My PCB will feature the famous work by Edvard Munch, The Scream which has always fascinated me.  So, how to turn a masterpiece into a PCB facsimile?Tribute to The Scream on PCB




The limited palette is a challenge.  For this exercise the focus will be on the central figure in order to reduce board size (and thus cost) of the experiment.  The OSHPark purple solder mask will hopefully give the dark colors desired.  Andrew also used OSHPark in his example, and helpfully provided a palette which has been modified here to help describe how the layers translate to color and are stacked for conversion in KiCad.

OSHPark Purple Palette

Different colors will be obtained for different layer transparencies and tints from other board houses.


Photoshop Workflow


The five colors in the palette must be separated into different layers in the software of choice.  My workflow in Photoshop is as follows:

  1. Create a B&W layer
  2. Create a working layer from the background / B&W layer
  3. Using the Magic Wand Tool (adjust tolerance as needed) select the darkest layer (#5 in the palette) from the working layer
  4. Create a new layer using only the selected area and give it a name (e.g. #5_Mask_on_bare for the darkest layer)
  5. Select the current color (#5 for the darkest layer) from the color picker or palette above and fill the selected area with the color
  6. Delete the selected area from the working layer
  7. Repeat steps 3 - 6 above for the next lighter area until all colors in the palette are selected and all areas of the image are filled with colors from the palette.


When these steps are completed the individual layers in Photoshop look something like this:

{gallery} Photoshop Layers

Silk Layer

Silk Layer

Copper Layer

Copper Layer

Bare FR4

Bare FR4 Layer

Mask on Copper

Mask on Copper Layer

Mask on bare FR4

Mask on bare FR4 Layer


The full image with all layers showing as it appears in Photoshop is shown below.

Colors from Palette layered in Photoshop


Next prepare the layers that will be used in KiCad.  The layers are copper (both bare and covered by other layers), mask, and silk.  To do this, combine the layers as shown at the bottom of the palette and convert them to a B&W image.   I used png file format set to 400 DPI and roughly the size I wanted (1 x 1.5 inches).  The resulting images are shown below.


{gallery} Layer Images Converted for KiCad







The work flow in Illustrator demonstrated by Andrew is much different and judging from the video has advantages.  However, my method proved quite workable.


KiCad Conversion Workflow


From this point on everything is the same as in Andrew's video.  KiCad has a learning curve and the details are beyond the scope of this post.  But here it is in outline form...


  • Pull the three B&W images from the last step one at a time into the KiCad Bitmap to Component Converter.
  • Adjust resolution if necessary but not much higher than 400 DPI
  • Set the radio button to Pcbnew (.kicad_mod file)
  • Set Black / White Threshold to 63
  • Set Board Layer for Outline as follows:
    • Front silk screen for silk screen layer
    • Front solder mask for mask and copper layers
  • Export someplace it can be found with meaningful names like Silk, Copper, and Mask


The conversion panel will look something like this:

KiCad convert Bitmap to Component


If named as I did there will be three resultant files:  Copper.kicad_mod, Mask.kicad_mod, and Silk.kicad_mod.  Follow the following steps:

  • Copy the file named Silk to a new file which will be combined with the mask and copper ones to make a footprint in KiCad (I named my file scream.kicad_mod)
  • Open up the Mask.kicad_mod file and copy all sections with fp_poly in the leader to just below the last closing parenthesis ")" in the combined file.  Don't copy the header with fp_text and don't copy the closing parenthesis in the Mask file.
  • Open up the Copper.kicad_mod file in Notepad++ or other text editor and replace all instances of Mask with Cu
  • Copy all sections of Copper.kicad_mod with fp_poly in the leader to just below the last closing parenthesis ")" in the combined file of Copper.kicad_mod.  Don't copy the header with fp_text and don't copy the closing parenthesis in the Copper file.


There will now be a combined file which can be used to create a footprint in KiCad which has the layers defined in the 5 colors of the palette.


KiCad Pcbnew Workflow


Inside of Pcbnew, open up the footprint editor and from the File pulldown select Import Footprint from KiCad file... Navigate to the location of the combined file (in this case the file scream.kicad_mod) and select it.  The footprint will appear as shown below:

View from the KiCad Footprint Editor

If desired, view it in the 3D Viewer to make sure it looks right.  Save it in the appropriate library.


Now select the Add Footprints tool and place the newly generated footprint in the work area.  Layers can be turned off and on to make sure things look correct.  Draw the boundaries of the PCB on the Edge.Cuts layer.  The 3D viewer in KiCad renders it like this:

KiCad 3D Viewer

Finally, use Plot to create the gerber files and it is ready to go to the board house.  Below is what the render from OSHPark looks like.

OSHPark Render of The Scream



I won't know how good it really looks until the boards come back but for now I am holding off sending it in.  The primary reason is I would like to add an actual circuit to it. It would be possible to build a simple single layer board with the art on the opposite side but it would be nice if the components somehow enhanced the art.


The process may seem complicated but it took longer to document than it did to figure out how to create the PCB.  Hopefully by documenting the process it will be even quicker next time.  Thanks for reading.  Comments and suggestions are always welcome!


Other posts in this Series


PCB Art:  Screaming LM386

Screaming LM386:  An Audio Amplifier with PCB Art