What is Circuit Painter?
Circuit painter is a creative coding tool for making functional printed circuit boards.
Unlike traditional CAD tools, where you design a PCB by using a GUI to place parts on a board by hand, in Circuit Painter, you design PCBs by writing code. You could think of it as similar to how OpenSCAD works for 3d modeling, but for PCBs.
Projects that are a good fit for Circuit Painter
Explore / generative shapes
Have a lot of simple, repetitive elements (LEDs, test points, mounting holes, …)
Use things that are very hard to make with traditional CAD- arcs, spirals
See the Example Projects page for a gallery of boards made with Circuit Painter.
Projects that are not a good fit for Circuit Painter
Complex, non-repetitive designs such as a microcontroller development board
Need integration with a traditional workflow
Note that you still can integrate scripted elements into a manually designed board! For example, Circuit Painter was used to create the spiral track elements in this Charlieplexed watch by Trammell Hudson.
What’s under the hood?
Circuit painter works as a front end / wrapper for KiCad’s pcbnew. It uses the SWIG bindings to create and add objects to a KiCad PCB.