I’ve been following the event of KiCAD for numerous years now, and utilizing it as my fundamental electronics CAD bundle each day for a the final six years or thereabouts, so the discharge of KiCAD 6.0 is sort of thrilling to an electronics nerd like me. The discharge date had been pushed out a bit, as that is such an enormous replace, and has taken a bit of longer than anticipated. However, it was lastly tagged and pushed out to distribution on Christmas day, with some a lot deserved fanfare within the typical locations.
So now is an effective time to take a look at which options are new in KiCAD 6.0 — truly 6.0.1 is the present launch at time of writing because of some bugfixes — and which options initially deliberate for six.0 are actually being postponed to the 7.0 roadmap and past.
As is usually the case with large updates, many of the largest modifications are invisible to the person, and are the results of vital code refactoring as a way to create constant frameworks for the builders to work to, while they add new options from the want record. What we as customers see are the modifications that this under-the-hood work allows. A characteristic change typically appears ‘straightforward’ from a person perspective, however requires intensive inner modifications and lots of developer effort behind the scenes. KiCAD is an previous undertaking, with three a long time of code historical past, so unpicking lots of that to construct these constant frameworks for future work has been a monumental enterprise. In a latest Contextual Electronics podcast interview with KiCAD developer [John Evans] the burden of this code historical past was defined on this context in a really useful means, and you may actually get a really feel for simply how difficult it may be to navigate as a brand new developer and why this replace is so vital.
Libraries and Schematic Recordsdata
Following on from the S-expression PCB library format KiCAD 5.0 launched, image libraries are actually described in the identical format. KiCAD 6.0 will make the migration on the contact of a button. This format is designed to be human readable, which in flip makes it a lot simpler to jot down different software program that creates or modifies these recordsdata.
One helpful change is that the dependency upon schematic libraries has been dropped, so as soon as a sheet is accomplished, you solely want the sheet file to open it. No extra damaged schematic sheets! No extra chasing libraries for a handful of symbols, and design reuse is vastly simplified.
These modifications, in fact, have a draw back — after getting opened and migrated a undertaking from KiCAD 5.x, there is no such thing as a means to return, so be sure you make a duplicate first and/or use revision management. That mentioned, to this point, I’ve had no points that may power me to maneuver again to the earlier launch.
The up to date or new characteristic record is so intensive, that merely itemizing all of it right here can be fairly an extended enterprise. As luck would have it, I don’t must, as [Peter Dalmaris] printed a preview of the changes coming in version 6.0 at first of the yr, when most new options and modifications had been already rolled out into the ‘nightlies’ for beta testing. The primary spotlight for me is the massive replace to the Design Guidelines Checking (DRC) system, which is now considerably extra highly effective and configurable, and even permits customized guidelines per board. This characteristic has its personal particular specification syntax, and can take a while to be taught, however seems to be like time properly spent. One other significantly improved space is the visibility management facet panel, easing management of seen parts and serving to produce a clutter-free show as you’re employed between layers.
Curved traces look nice. Be at liberty to argue within the feedback about their utility. (Perhaps in microwave RF designs?) Hashed zone fills are nice for these of us designing versatile circuits, or planes that should be copper-light for thermal causes. And whereas we’re speaking about zone fills, there’s now a configuration possibility to permit filleting of corners exterior of the zone define, which makes filleted zones look loads nicer.
One characteristic that in all probability isn’t new to KiCAD 6.0, however I hadn’t observed earlier than, considerations drag alternatives. When click-dragging round a bunch of objects, to make a grouped choice, it seems the software is direction-sensitive. Dragging from left-to-right solely selects objects which can be fully contained inside the field — however the reverse — choosing from right-to-left selects any objects the field touches, even partially. I actually want I’d have discovered this out years in the past! Because of [Stargirl @thevalkyrie] on Twitter for the heads up on that.
Different large enhancements are the unified undertaking setup, with many extra choices to set PCB properties like stack-up, and in the end, web class definitions at schematic degree with customisable colors and kinds to enhance readability of design intention. Lastly, there’s a new ‘guidelines file’ import characteristic for PCB fab definitions and constraints, which can hopefully allow simpler setup of board constraints when transferring between completely different producer processes, and cut back the chance of the annoying subject of designing a good board to the unsuitable rule set. (By no means performed that myself, oh no.)
The PCB editor has so many updates and design enhancements that there’s not the house right here to do it justice. I counsel studying the release notes as an alternative! The quick model is that the workflow has been streamlined, instruments have been expanded and regrouped and made extra seen, and a few of KiCAD’s tough edges and different oddities have been smoothed over.
A New Plugin And Content material Supervisor
One very good characteristic that has snuck in to launch 6.0 on the final minute is the primary model of the brand new plugin and content manager. This vastly improves the person expertise for including plugins, with the KiCAD undertaking sustaining its personal on-line repository, and new plugins arriving on a regular basis.
This built-in administration will allow significantly better visibility of community-contributed themes, libraries and software program extensions, and can certainly mark a brand new period of KiCAD customisation. On the time of writing, notable plugins embody the wonderful InteractiveHtmlBom, which I take advantage of extensively, KiBuzzard to your fancy labelling wants, and KiKit for panelisation duties.
The repository is within the early levels, however new part libraries are already popping up there too. It’s isn’t totally push button, nonetheless. If a Python plugin is advanced sufficient to rely up non-default put in modules, then you want to manually invoke the Python bundle manger
pip to satisfy these dependencies. Fortunately, no less than on home windows, there’s a particular command interpreter menu merchandise with all of the Python paths set appropriately, so it’s a trivial matter to pop open a terminal, invoke
pip, then crack on together with your undertaking. The Python plugins that want handbook intervention ought to immediate you with directions when they’re first put in. Hopefully future variations of the bundle supervisor will cope with such points robotically! Lastly, in true open supply model, it’s straightforward sufficient so as to add further repositories, so you possibly can disconnect your self from the official model for those who or your organisation has different wants.
Postponed to 7.0
The want record for KiCAD 6.0 was actually large and bold, and as a way to get one thing value utilizing out faster, a characteristic freeze was enacted early final yr as a way to end off the options that made the lower and iron out the bugs. Many truly good options didn’t make sufficient progress, or relied on different modifications earlier than work may begin. Regardless, let’s take a look at a couple of of the deliberate new tips for the subsequent launch.
First off, the Python API goes to alter. API entry to the schematic object is presently not supported, making it not possible to create plugins that manipulate schematics. This can change in launch 7.0, however not till the underlying schematic object is refactored to allow it. There’s a deliberate object properties/introspection API which permit a brand new class of plugins to be created for much more highly effective design manipulation. Fingers crossed!
The subsequent large characteristic once more considerations the schematic editor. Orthogonal wire dragging will probably be carried out, to allow transferring symbols round and conserving the connections trying good. Internet-ties! We’re going to lastly get correct net-tie assist!
The PCB editor is deliberate to get teardrop assist, in addition to fashionable options like hint refining. The flexibility to regulate hint size matching/meandering can also be deliberate. Design reuse will probably be boosted by assist for structure snippets, and there will probably be higher assist for pad stacks and extra highly effective thermal reduction management.
The ultimate and most attention-grabbing future characteristic — for me no less than — is the deliberate PCB constraints administration system. That is meant to permit constraints to be specified within the schematic and handed into the board editor, as a way to constrain placement and structure in addition to feed into the DRC system. This will probably be an epic characteristic if it truly occurs. Particulars are scarce proper now, however relaxation assured I’ll be monitoring it.
So there we’ve it, a quick overview of the place we’re and the place we’re going on this planet of KiCAD. Preserve a watch out for future tales and guides about this improbable software, because the KiCAD future is vivid, and it’s all open supply and subsequently free from licensing prices.
Want some assist lastly taking the plunge to maneuver to KiCAD? Then you definately’re going to wish to checkout the official KiCAD forum, and drop in to the tremendous energetic KiCAD Discord every now and then.