KiCad 4 vs. KiCad 5

11 October 2019
Having taken a six-month break from circuit design I got round to building KiCad 5 for Slackware and in a short space of time alternated between KiCad 4 and KiCad 5 for the design of a total of six circuit boards. KiCad 4 is what I have so far invested in, and given how KiCad 5 has major changes I needed to decide whether to stick to the old version or make the jump across — here I remark on the experience of using both on parallel.


Accessing program preferences has been made easier and more consistent in KiCad 5 compared to KiCad 4, with the setting up of symbol and foot-print libraries being substantially improved. With KiCad 4 whenever I start a new project I end up making edits to the newly created project files, whereas with KiCad 5 I found that I did not need to resort to manual intervention. A lot of effort has been put into lowering the start-up overheads.

Changes to Eeschema

Now called Schematic Layout Editor, and apart from changes to the tool icons not much seems to have changed in how it operates. Annoyingly some of the icons such as annotate are completely different, and in the latter case actually less intuitive, but this is something to get used to. Otherwise the things detailed below spring to mind:-
Non-cardinal wires
Unless you select the non-default Restrist buses and wires to H and V orientation, which was what KiCad 4 always did, wires are arbitary lines. I have never seen non-cardinal lines in a professional schematic, and when joining wires together the restriction actually make things easier.
There are several different options for anti-aliasing when drawing the schematic, but I find these a little hard on the eyes and I suspect it needs a half-decent graphics card. This is really personal preference though, and it is nevertheless a nice additional feature.

Changes to Pcbnew

Now internally called PCB Layout Editor I think this has had a lot of rework behind the scenes, so it will feel very different to how it was in KiCad 4. A lot of limitations of KiCad 4 are now non-default options, which I think is a conflict between flexibility and what is actually done by experienced electronic engineers, and at first these changes are annoying. I am guessing they target default options at new users, not those upgrading — a common theme in the points below:-
Non-cardinal edge cuts
In KiCad 4 the lines drawn on the Edge.Cuts layer were limited to being as multiples of 45° which is one of those things where it is not clear whether the design decision was due to implementation limitations or an intentional usability choice. In KiCad 5 these lines can now be any angle, but there is an option to limit them to the previous restrictions — a good thing as 95% of the time this restructions is a massive help rather than hinderance.
Drawing modes
In the KiCad 4 there were three drawing modes — Default, OpenGL, and Cairo — and choosing one not only selected a different drawing backend but also affected how the toold behaved. In KiCad 5 the latter behaviour is now a seperate options listed as ‘Toolset’ and the ‘default’ has been dropped but it looks like the colouring it used has been adopted for the now-preferred OpenGL mode. I suspect that Cairo is still used as the “non-accelerated” mode, but I have never used this one.
Tighter coupling with eeschema
KiCad has a pcbnew option called Update PCB from schematic which seems to be part of an effort to simplify the process of integrating changes to the circuit. I am not sure if it is much more than automating the process of making a new netlist in eeschema and then loading it into pcbnew, but it certainly looks like a move towards tighter coupling of the two programs.
I get the feeling that KiCad 5 is that bit better at avoiding design-rule violation on the fly, although I am not sure if this is new to KiCad 5 or whether it was already fully implemented in some of the drawing modes if KiCad 4 — I suspect the latter as I often preferred KiCad 4's Default mode.
A major irritant, and one that was made obvious even before using KiCad 5 for actual design, is a significant reduction in the number of 3D models. From what I have read this is due to a tightening up of the requirements for 3D models, possibly to aid integration with other CAD systems, which among other things involved a change in scaling and the requirement for a STEP file.

Footprint changes

The organisation of the footprint libraries has been completely overhauled for KiCad 5. While the new classifications is a lot better, it also means that rather than just cut'n'pasting footprint identities known to be correct for certain components, the painstaking process of searching for and checking footprints against data-sheet landing patterns has to be repeated. In a few cases I was not entirely sure a footprint was the correct one until after I used it on a PCB I then had sent off for fabrication. This was a particularly irritating problem with PCB connectors, which were affected the most by the removal of non-conforming 3D models.

The verdict

Going from KiCad 4 to KiCad 5 requires a significant amount of effort, both to get up-and-running and to get to grips with, and I was left with the feeling that the pay-off is a bit marginal for my requirements. While KiCad 5 can be made to behave much like KiCad 4, it involves changing a lot of options to non-default choices, and just finding what the options and are where they are located takes time. Importing a KiCad 4 project into KiCad 5 has complications, so one will need to run both in parallel. In the longer-term KiCad 5 is the way to go as support for KiCad 4 is more or less gone already, and I have the suspicion that my KiCad 4 setup was a little broken to begin with.