| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This workshop will walk you through creating PCB artwork using Inkscape and KiCad.
There are three workflows:
These instructions trace the detailed procedure for the NYCR logo example. If you get stuck, checkpoint files are provided. That means you can skip steps and practice the techniques one step at a time.
Reproduce the steps with the example described here, then repeat the steps with your own graphics.
Look at these projects to see finished PCB artwork examples with the svg2mod workflow (Workflow 3). See "SVG editing" directories for source files. See ".pretty" directories for footprint files.
This example will use the NYCR logo. I found it by
You can repeat this process or use the checkpoint file included in the repo:
Use duckduckgo images and filter for Tools > Type > Line drawing. Also try searching for "vector" "graphics" or "clip art".
Or search for "free vector art" and find sites like vecteezy.com
Or create your own SVG by hand.
Or use a bitmap photo (PNG, JPG) and "trace bitmap" in Inkscape.
PCBs will either be purple or green depending on how you order them. FR4 is the base fiberglass material of the PCB. You can choose between 4 different colors to make your art: gold, light (tan or brownish), dark (green or purple), and white.
Layers are named based on side of board and material the shapes represent. So first we name F (for the front of the board) and then the ending is where that area is going (Cu, SilkS, or Mask). B is for Back.
All possible layers:
There are 3 design layers per side (F.Cu, F.Mask, and F.SilkS). That means 8 possible permutations of them—think of it like 8 corners on a cube.
That means 4 distinct appearances, covered in this table.
| Appearance on board | Appearance on kicad render | Physical stackup | SVG layers |
|---|---|---|---|
| Tan or brown | Brown | FR4 | F.Mask |
| Green or purple | Green | FR4 + soldermask | None or F.Cu alone |
| Silver or gold | Yellow | FR4 + copper | F.Cu + F.Mask |
| White | White | FR4 + soldermask + silkscreen | F.SilkS |
| Invalid | Invisible | FR4 + silkscreen (silkscreen needs soldermask to stick) | F.SilkS + F.Mask |
Edge.Cuts is a separate mechanical layer for board outlines and cutouts. It doesn't participate in the visual layer permutations but can be used creatively for internal cutouts, slots, and expressive board shapes.
While there are four primary appearances, it is possible to modify them slightly. For example, putting B.Mask and F.Mask together creates a translucent brown effect (light shines through the board); putting B.Cu and F.Mask together creates an opaque brown effect.
Having F.Cu on its own results in copper beneath the soldermask, which is very slightly lighter than having dark soldermask without copper (no layers). The table puts both in the same row.
Question: What is the difference between NYCR-logo-phase-0-downloaded.svg and NYCR-logo-phase-1.svg?
Notice it looks the same so far, but now we have layers and more reasonable groupings.
These are specific to the NYCR logo. You will need to adapt them to your own graphics.
Step 1: NYC: Single-layer silk screen
Step 2: RESISTOR: Metal multilayer
Step 3: Graphic: Putting it together
See ITPcamp example for a side-by-side workflow. Instead of multiple files (phase 0, phase 1, etc.), I kept everything in one file and used layers to organize the work.
Original: The PNG I pulled from the internet
Converted: Tracing the PNG based on brightness threshold. It is a single compound path.
Edited: The path was decomposed and then pieces were recomposed to make sense. E.g. the outer ellipse as one path; "ITP" as another path; and "camp" as another path.
Layered: The final design with layers organized on F.Cu, F.Mask, and F.SilkS. While converting, everything else not on these layers will be ignored.
It is recommended to use the GUI version below, but the terminal version is also available.
Install svg2mod
pip install svg2mod
svg2mod -p 1.0 -o nycr-logo.pretty/NYCR-logo.kicad_mod nycr_logo.svg
If precision is too low, it will look jagged. Decrease the precision value (e.g., -p 0.2) to get a smoother curve. The lower this number, the larger the file size.
💾 Checkpoint: NYCR-logo.kicad_mod
Use this web app to run the svg2mod command in your browser: https://taitphotonlab.com/apps/svg2kicad.html
Note that svg2mod.com exists to do the same thing, but it sends your file to their server (and is not currently working).
Edit footprint libraries: add nycr-logo.pretty
Confirm that it looks like this:
You can pick different dimensions, big or small. You can even use a circle. You can embed Edge.Cuts into the SVG. It's up to you. I recommend staying smaller than a credit card if you want to carry it around.
💾 Checkpoint: NYCresistor-card-example2.kicad_pcb
If you want to make changes to your artwork after creating the footprint:
This is cheaper, faster, with more options (color, thickness, etc.). It also scales better for larger quantities (~70¢ per board @ 50 boards). Most of the cost is in tariffs and shipping, so we are going to prefer OSHPARK for prototyping, depending on class size.
It may have spiky edges or burrs on the board from the machines that cut them out. You can file these off with a metal file but make sure to have the board be wet when you are doing this as the filing will great fiberglass dust and you don't want that to go into your lungs or skin.
| Back | FazBrowse Home | New Git URL |