In 2018, when KiCad Version 5 modernized the venerable 4.X series, it helped push KiCad to become the stable and productive member of the open source EDA landscape that we know today. It has supported users through board designs both simple and complex, and like a tool whose handle is worn into a perfect grip, it has become familiar and comfortable. For those KiCad users that don’t live on the bleeding edge with nightly builds it may not be obvious that the time of version 6 is nearly upon us, but as we start 2021 it rapidly approaches. Earlier this month [Peter Dalmaris] published a preview of the changes coming version 6 and we have to admit, this is shaping up to be a very substantial release.

Don’t be mistaken, this blog post may be a preview of new KiCad features but the post itself is extensive in its coverage. We haven’t spent time playing with this release yet so we can’t vouch for completeness, but with a printed length of nearly 100 pages it’s hard to imagine [Peter] left anything out! We skimmed through the post to extract a few choice morsels for reproduction here, but obviously take a look at the source if you’re as excited as we are.

There’s No Place Like (0, 0)

The mythical hatched fill

Starting with the foundation, KiCad 6 will finally bring a configurable coordinate system! We’ve found that a significant stumbling block for new users is that the default KiCad coordinates start at the upper left instead of the lower left, as in most CAD and drawing tools.

Version 6 will allow the user to relocate the origin as well as flip either axis, allowing for maximum ordinal freedom. Clearly it doesn’t take much to get us excited, does it?

Rounding Traces and Filling Zones, Mostly

Another historically missing feature in KiCad is curved traces. V6 moves part of the way there, allowing traces to have rounded fillets. This doesn’t quite get to the groovy curvy traces of the 70s but it’s progress in the right direction.

Along similar lines there is new variety in the way a zone can be filled. Now instead of being forced into a solid fill there is a second choice; hatched fill! We say the more the merrier! Next stop; hearts, stars and horseshoes?

Getting Together with Groups

A flock of grouped components in layout

It may seem minor, but should be appreciated by anyone who has worked with carefully arranged groups of components during layout; items can be grouped! It’s always been possible to select multiple elements and drag them together, but that grouping was lost as soon as the selection changed. In KiCad 6 components can be explicitly grouped, allowing you to move those pesky headers around all at once, in perpetuity.

Bussing in the Signals

Even after using version 5 for years, signal busses in KiCad schematics seemed like an ugly duckling with a usage so awkward that they weren’t worth using. [Peter]’s overview has taught us a few new things about that older tool that we didn’t know under the rubric “enhanced bus handling”. For instance, the older version 5 allows the user to textually specify net names to connect across a bus instead of forcing the use of bus entry connections and individual net labels.

Version 6 makes busses significantly more powerful. It’s now possible to specify more elaborate and less uniform net names that share a single bus, and there are graphical hooks in context menus that allow you to “unfold” individual nets from the bus without the guesswork required in version 5. And as an added bonus, in version 6 the visual style of busses can be changed. We’re excited to start getting our signals together!

That’s Not All Folks

Whew, what a list! And that was but a tiny fraction of the improvements in KiCad 6, or the coverage from [Peter]’s excellent post.

It’s worth noting that the post is based on nightly builds euphemistically versioned 5.99. Until the release is officially cut, features and functionality are subject to change, but everything is publicly available to try out in the nightly builds if something catches your eye.