The KiCoil Planar Coil Generator

2025-12-31

The KiCoil Planar Coil Generator

A planar coil is a coil that is made from flat traces in some printing process like PCB or IC manufacturing, instead of being wound from wire. A few weeks ago, I needed one such planar coil that

Project State

Currently, circular coils are special cased. Their layouts are directly generated, without the use of polygon offsetting. Windings are efficiently approximated using circular arcs. The circular coil layout code is solid, and contains decent (albeit not infallible) parameter sanity checks. Its main limitation is that sometimes, clearances can be violated a bit.

The arbitrary shape code path is less stable, and produces faulty output in some cases. The most common error is crossing traces near the first vertex of the polygon when the polygon has highly convex or concave parts. I'm still improving this code path, but as long as you check the output, any errors it produces should be easy to fix by hand.

If you would like to contribute, I'd welcome any ideas on the arbitrary shape code path. I think there is no single optimal solution here, and a generic algorithm that can be adjusted to favor for instance shape accuracy versus winding smoothness would be nice.

All project links are listed on `https://jaseg.de/projects/kicoil/`__. You can check out the code on my git at `https://git.jaseg.de/kicoil.git`__. Issues are tracked on codeberg at `https://codeberg.org/jaseg/kicoil`__. The kicad addon can be installed from the KiCad plugin manager, and you can install the standalone kicoil python package from PyPI.

Docutils System Messages

System Message: ERROR/3 (<stdin>, line 36); backlinks: 1, 2, 3

Anonymous hyperlink mismatch: 3 references but 0 targets. See "backrefs" attribute for IDs.