diff --git a/content/blog/kicoil-theory/header.png b/content/blog/kicoil-theory/header.png new file mode 100644 index 0000000..2b95b66 Binary files /dev/null and b/content/blog/kicoil-theory/header.png differ diff --git a/content/blog/kicoil-theory/index.rst b/content/blog/kicoil-theory/index.rst new file mode 100644 index 0000000..c746cea --- /dev/null +++ b/content/blog/kicoil-theory/index.rst @@ -0,0 +1,40 @@ +--- +title: "The KiCoil Planar Coil Generator" +date: 2025-12-31T13:15:39+02:00 +summary: > + I wrote a layout tool generating planar coils that can handle spiral coils, toroidal coils, and hybrids in between + the two. +--- + +.. raw:: html + +
+ +
+ +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 +`__. +