Friday, August 28, 2020

My small contribution to KiCad v6

It's been merged.

Starting in the late 1990s I used the Eagle PCB CAD tool for my electronics designs. I was quite happy with it, but after AutoDesk changed the Eagle licensing and priced it out of reach, I switched to using the open-source PCB CAD program KiCad. I'd been planning to use KiCad for the replacement PCB in the Canon P170-DH calculator, as the board would need to be larger than my Eagle hobbyist license would allow, but the change in license costs made KiCad my primary CAD tool.

Of course, KiCad is not perfect. The thing that irritated me the most was the PCB measurement origin. Rather than being a point on the PCB, it was at the upper left corner of a "page" of a drawing. This made placing footprints at exact locations very difficult, something critical when you expect the PCB to fit into a specific enclosure. Also irritating was that the Y-axis increased as you moved down the page, rather than up as in every drafting class I've ever had.

Rather than just bitch about these issues, I decided to fix them.

In April of last year I attended the first KiCon, a gathering of KiCad users and developers, in Chicago. There I discussed my ideas with many of the developers.

By late May I'd implemented what I called Origin Transforms. This was a set of patches for both the stable (v5) and development (v6) versions of KiCad. The v6 patches got hung up over some technical issues, but I used my patched KiCad v5 code for the next eight months while doing the design and layout of the P170-DH replacement PCB. I found it both stable and easy to use. With the v6 code freeze approaching, I carved out some time to re-implement these patches for the v6 release.

After a gestation lasting 18 months, those patches were officially merged into the branch that will become KiCad v6.

My only regret is that I won't be able to present these changes at KiCon 2020 in Geneva. The Covid-19 pandemic has forced that event to go virtual.

No comments:

Post a Comment