KiCad 6 introduced some new features that make PCB art and creating badges easier. In this blog, I'll present an outline for creating a PCB badge with electronics, a complex outline, and graphics.
My previous element14 blogs on PCB art used older versions of KiCad and are listed at the bottom of this post. That method involved modification of the copper, mask, and silk files and editing the files directly by pasting in new information generated by the bitmap to the component converter. The method should still work but I was made aware of an improved workflow for KiCad 6 in a recent video that can be found here. It is quite good, but about 22 minutes in length. My version is outlined below without some of the detail found in the video.
If you are interested in the functional side of KiCad6, with good commentary for those coming from Eagle, then see this recent post by shabaz:
- KiCAD for non-KiCAD (e.g. ex-EAGLE) enthusiasts - a discussion - Forum - Open Source Hardware - element14 Community
I've made several graphical functionally oriented posts on KiCad 6 that may also be of interest:
- KiCad 6 - Importing Complex Board Outlines as Vector Graphics - Blog - Members - element14 Community
- KiCad 6 - Adding Logos and Graphics to a Silkscreen - Blog - Members - element14 Community
- KiCad 6 - Exporting Models to Mechanical CAD Programs - Blog - Members - element14 Community
But this post is all about the art.
Creating an Image
The color palette available for use on PCBs is constrained, e.g. silkscreen, copper, bare FR4, solder mask on copper, and solder mask on FR4. Electrical traces can also interfere with the art and care must be taken with routing. My project needs to be attractive to kids so I started by making a freehand sketch of a puppy. The PCB will have a white solder mask and a black silkscreen.
It was then photographed with my phone and imported into Inkscape.
Inkscape Step 1) The drawing was then traced on new layers with the Bezier tool, areas colored, and tweaked as needed.
Inkscape Step 2) The layer with the outline of the dog was isolated and exported as an SVG file.
Inkscape Step 3) All of the image to be visible on the silkscreen was isolated and exported as a PNG file.
The spots on the dog will be exposed copper and they were isolated and exported as PNG files.
Creating a PCB
The educational purpose of the PCB will be to teach SMD soldering using large SOIC-8 and 0805 parts. The PCB will have a 555 timer to blink a single LED and is the same circuit I used in "Rosie Learns to Solder" that had through-hole parts. Let's call this dog Rudolph since the blinking LED will be on his nose.
The PCB layout in KiCad 6 looks like this:
With the simple rectangular edge cuts the front and back of the PCB look like this:
Boring. No kid is going to take this home and display it prominently or hang it from their backpack.
KiCad Step 1) Get rid of the rectangular edge cuts and import the SVG outline using File-->Import-->Graphics. The PCB front now looks like this in the PCB editor and 3D viewer:
KiCad Step 2) Create a new footprint in the footprint editor for the silkscreen. I do this from inside the PCB editor. Then load the silkscreen PNG image created in Inkscape into the KiCad image converter. The radio buttons for Footprint (.kicad_mod file) and Front silk screen should be ticked. The box labeled Negative should not be ticked since the silkscreen will be added to the underlying layers. After loading, export it to the clipboard.
Navigate to the footprint created for the silkscreen and paste the converted file. Make sure the image is on the silkscreen layer. Save the footprint and then using the add footprint tool in the PCB editor move it into place on the outline. The PCB front now looks like this in the PCB editor and 3D viewer:
We need spots!
KiCad Step 3) Create a new footprint for the copper layer and give it a creative name like spots. Load the layer with the spots previously created in Inkscape into the KiCad image converter. Change the box labeled Negative so that it is ticked. This is because we are going to remove the mask which is a "negative" operation. After loading, export it to the clipboard.
Navigate to the footprint for the spots and paste the converted image. Modify each spot individually by selecting it and changing the polygon to the front copper. Then paste a second copy of the spots over the first and change all polygons to the front mask. Note: the second copy and modifications are not required if it is desired to have a mask over the copper. The view in the editor then looks like this with two polygons for each spot:
It doesn't matter that the layer is shown as the front silkscreen because it has been modified on the polygons. Save the footprint and then using the add footprint tool in the PCB editor move it into place on the outline. The PCB front and back now look like this in the PCB editor and 3D viewer:
All done. Don't judge me on the layout, I'll go back and make another pass. The kids won't care anyway.
The steps involved can be confusing but aren't too bad with the practice of doing it once. This type of tutorial might be best understood with a video but the one linked above is quite good so it won't be repeated. Thanks for reading. Find below some more PCB art for those needing inspiration.