Comparing versions utility

Let’s say you have made a project in a few versions (different project folders/project names) and you want to compare the differences between these 2 projects versions – either differences in the schematics or in the PCB, or both, – Is there a function/tool/plugin in KiCad to perform this?

There there are some side projects that first create bitmaps of schematic and PCB files, and then do visual comparisons between these images, but I never used these myself.

KiCad has a built in diff tool for schematic symbols and footprints in Main Menu / Inspect / Compare (Symbol or Footprint) with library), but not for schematic or PCB files. Maybe someday this could be extended to schematics and PCB’s too.

I just tried: Schematic Editor / File / Plot / Plot format: SVG and then Schematic Editor / File / Import / Graphics and this does work, but all imported elements are individual elements. No grouping, the schematic editor also has no layers. It does not seem usable. I guess exporting it as a bitmap and then Schematic Editor / Place / Add Image may work better, but I have not tried that in the schematic editor. I have used it for reverse-engineering a PCB and that worked quite nice.

If you are on Linux, it has “virtual desktops”. You could open one version of a project on one desktop, and then the other version on the other. when both are zoomed to the same coordinates and scale factor, you can switch between those desktops to visually compare differences.

Thanks paul, I meant more of a “text output” tool to show value differences or new components. The placement’s on the PCBs is of course also a thing in this so I guess my question is a mess, a bit difficult to reply with an easy solution. Thanks anyways!

Open source “KDiff” or “Beyond and Compare” are data comparison tools used exactly for that purpose (they also help with comparing content of different folders)

Yeah Beyond Compare is a really cool and effective software in many ways, but I don’t know if it would help in what i try to describe here. Never mind, let’s forget this topic I started, I regret it, so let’s call it solved!

If your projects are versioned within a scm (git/svn/fossil), you might like to take a look at GitHub - leoheck/kiri: Kiri is a visual tool designed for reviewing schematics and layouts of KiCad projects that are version-controlled with Git.

Thanks John, though as I have no idea what “cm (git/svn/fossil)” even means this is not for me. In short I’m a simple old mac user who in the first place did choose mac as it was user friendly & soft for the eyes :slight_smile:

Well you have good taste then! :green_apple:
Just fyi Git is a way of storing the history of a set of files. Say you have a document which changes over time - for example, a contract. You save each change as a ‘commit’. Multiple people can work on the same files. You can use git to compare arbitrary points in time to see when a sneaky clause was added.
KiCad is text based so you can use git to compare files - but you end up with a lot of text which is difficult to interpret. Graphical diff programs endeavour to show the changes visually.

Thanks for the info, John. If I have “good taste” or not I can’t say, maybe I’m just lazy and a bit stupid with sensitive eyes :slight_smile: I was using windows as a main platform for many years, but since getting an iMac in 2007 I got stuck = no risk/chance to go back. I still run windows on the mac (via parallells) for some apps which are not available for Mac OS and it works like a charm/is fast enough etc. I don’t do any gaming so this is perfect.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.