KiCad 2022 End-of-Year Recap And 7.0 Preview

KiCad 2022 Year End Recap

[Chris Gammell] moderated the KiCad 2022 End-of-Year Recap with several KiCad developers and librarians. They reviewed what’s been bubbling up in the nightly KiCad 6 builds, what we can expect from KiCad 7, and even answered some questions from the user community. Over the course of 2022, the KiCad project has grown both its development team and library team. The project even has a preliminary support commitment from the CERN Drawing Office!

Improvements to the KiCad Schematic Editor include smart wire dragging that simplifies moving components around within schematic diagrams. Components selected in the schematic now remain selected while switching to the PCB Editor. Internal documentation of schematics has advanced with support for fonts, embedded graphics, and the inclusion of hypertext links to datasheets and other reference materials. New features for PDF generation offer interactive files and links between sheets.

A new search panel within the KiCad PCB Editor supports finding components by footprint, net, or text search. A property panel allows common properties to be edited across multiple selected items. While a full-blown auto-router remains outside of the scope for KiCad, “push and shove” routing is faster and easier. An “attempt to finish” feature routes a quick connection for the currently selected trace, and “pack and move” positions all selected footprints into proximity to simplify placing them as neighbors within the board layout.

The KiCad PCB Editor also adds support for the use of fonts and inverted “knockout text” which even works on copper zones. Bitmap graphics can be imported and scaled beneath layout work as reference illustrations. Private footprint layers can be used to place extra documentation within footprints. The design rule checker (DRC) now can catch more layout issues, especially those that may impact manufacturability.

These are just a sampling of the impressive improvements we can expect with KiCad 7.0. There are also additions to circuit simulation and modeling features, a new command line interface for script-based automation, ARM64 support for KiCad running on Apple silicon, and a huge number of additions to the default library including symbols, footprints, and 3D Viewer models.

The KiCad team suggests several ways to support the project. There are always needs for additional developers and librarians. Financial contributions can be made at As users, we can run the nightly builds, try to break them, and give feedback in the form of detailed bug reports. Community testing will help make KiCad 7.0 as solid as possible. The project team is also seeking open hardware projects to include with KiCad 7.0 as demos.  For example, the StickHub project was included with KiCad 6.0 as a demo.

The official release of KiCad 7.0 is currently scheduled for January 31, 2023. While we wait, let’s flashback to our January 2022 presentation of what features made it into the KiCad 6.0 release.

22 thoughts on “KiCad 2022 End-of-Year Recap And 7.0 Preview

  1. I donate monthly to this project and greatly appreciate their work. However making KiCad 6 project files NOT backward compatible with KiCad 5 was very annoying. I hope KiCad 7 doesn’t do the same in regards to KiCad 6, because I literally just (last night) finished updating all my KiCad 5 projects to KiCad 6 format… and essentially flipped the finger to all the people relying on my open source project (those who still haven’t “upgraded”). This upgrade treadmil needs to end.

    1. I would strongly disagree, as long as old versions are kept available I would go as far that only the last versions format should be supported to reduce bloat. Keeping back and forward compatibility is a horrible task.

  2. As a regular altium designer user, my main gripe with KiCad is how libraries operate. I guess I’m too used to how Altium works.

    I’d really love to see something that Altium doesn’t have.

    Currently Altium can have Schematic Snippets and PCB snippets. The reference designators get screwed up when using them so you typically have to re-match the schematic snippet reference designators to the PCB snippet reference designators everytime and that’s pretty annoying.

    Altiums spice simulator also is a pain, I end up using literally anything else – LTSpice.

    1. Fellow Altium user here, i honestly like kicads library model a lot better for small projects with a lot of component changes which is typical for hobbyist projects. But it is a pain in the ass for large projects where revisioning is important.

      1. Thank you for pointing this out. I had no idea about it I haven’t yet jumped to v22 yet, I’m on 21. Is this an Altium 365 only feature?

        “When connected to an Altium 365 Workspace, you can create a single entity – a Reuse Block – that can contain both schematic circuitry and its physical representation for the PCB. When such a reuse block is placed on a schematic sheet, its physical representation will be placed automatically in the PCB document during the ECO process.”

        If this is in Designer, that’s pretty great.

        1. I looked through the feature and as it stands now it appears to be an Altium365 feature only. The Design Reuse block is saved to a server, not locally. I am still not a huge fan of A365 so I’ll probably still do without it for now.

    2. Strange, for me Altium libraries are awful and KiCad approach is very rational and, what’s the most important, scriptable and VCS-friendly.

      What KiCad have that Altium does not is a reasonable scripting. Altium only allows to use some bastard son of Pascal for scripting. KiCad have Python out of the box and lets to bind whatever else you want easily.

      1. It depends on how you use the libraries.

        Altium’s database library is pretty great, especially if you want consistency among multiple designers. That way schematic symbol lib + pcb footprint lib + 3D model lib can all be linked to a unique part number. In that way a BOM can be generated pretty easily, and everyone is using the same common database library.

        How are you using scripting in KiCad’s libraries, like for what purposes? Also, how do you go about making a BOM after the design is done with KiCad?

        1. We have a common git repository with all the libratries (symbol, footprint and 3D), with a consistent naming, and all the projects are configured to include everything from that repository (cloned locally under the project top, but not as a git submodule, so when it updates, it updates for all the projects).

          With Altium, what annoys me the most is that I cannot just add stuff to library by copying a few files. Adding stuff from, say, componentsearchengine, is far more tedious, especially given that I may want to fix a few things before adding (change the component name to reflect the company standard, etc.).

    1. it means CERN donate time, code and funds to the project, tax money well spent by bringing KiCAD up to the standards of otherwise expensive layout drawing tools. Chris Gammel deserves credit too for teaching people to use it and updating his amazingly concise “getting to blinky” hello world of electronics design videos.

      Generally I find that people prefer the PCB tool they first cut their teeth on, I been a KiCAD user since v3 and am so pleased with the direction Wayne and dev team brought the project in the years since then.

    1. I guess it depends on the target audience. In private business, project completion time is important. So important that professional, expensive tools that include that feature are typically used. The expense is worth it to save time. For a non professional user, or maybe someone making one off hobby projects, not having auto routing is fine since the price of the tool matters more than the time the auto routing would save. It seems odd to not have it in the project plan, even if it was a long term goal.

        1. Autorouting may mean different things to you and to me. I have never seen and would never use autorouting to route an entire PCBA as that would require an insane amount rules in order to work.

          Autorouting also includes autorouting individual nets, or net groups. In Altium you highlight a net and click Shift + A, and altium will auto complete that net via the shortest path using a default trace width based on default rules. You can also limit the scope of the autorouting to just a component. In that way you can route the critical sections of a design manually and for other non-critical connections you can quickly autoroute them (one net at a time, one group of nets, or one whole component at a time.)

          1. I know. I never seen this feature being used for anything but the most trivial designs (and yes, I use it in Altium too, only for quick prototyping). Autorouting screws things up even when you assist it heavily, so it’s just easier to manually route everything, not just the sensitive nets like RF, LVDS, DDR and all that fun stuff. Especially if your board density is high and all the sensitive nets are already routed, autorouting is notoriously bad.

      1. I have found that autorouting always needs so much setup and babysitting that it’s quicker to just do it by hand. I also find that this makes debugging easier, because I routed each track and therefore (sometimes) remember the compromises I made when I first did the routing. When an autorouter screw up, it can take ages to fix because you have no idea what the autorouter was thinking at the time.

        What scares the hell out of me right now is that some clown is going to throw “AI” at the routing task and we’ll get a horrible mess.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.