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 :doc:`examples` 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.