Converting 5.X hierichal sheets to 6.X

Hi all,
I’ve used a nightly build of 5.99 for a couple months now and it’s performing great. Today I came across something new - I want to import hierarchical schematics that I’ve created in 5.0 to the new 5.99 version.

If I add a new hierarchical sheet and try to use “TMC2209.sch” that is already in the current folder, Kicad 5.99 will create a new, empty file called “TMC2209.kicad_sch” rather than import and convert the older file.

Any suggestions as to how this workflow is supposed to work? How can I convert my old schematic to the new 5.99 format?

I don’t have an old v5.1 version (or 5.1. files) so I cant try my own suggestion, but this would my advice:

  • open eeschema in standalone mode (on windows: type “eeschema” into start-menu to get the eeschema.exe)
  • there it should be possible to load the old TMC2209.sch
    (on File->Open you have to change the filetype-extension to *.sch for old legacy files)
  • save with the new format as TMC2209.kicad_sch into your new project directory

That’s a good suggestion @mf_ibfeew but it does not work? 5.99 cannot open .sch files in standalone mode (they are greyed out and unclickable) and if you are not in standalone mode, you’re not even getting an option for “Open” in the File menu. This doesn’t feel correct? Can it be an oversight or bug?

I worked around this by opening an old project that referenced this schematic, entered the schematic, copied all components, opened my new project, created a new Hierarchial sheet, entered it and then pasted the contents from memory. This isn’t undoable, but it sure is clumsy if you use hierarchical schematics extensively to re-use circuits among projects?

That’s a bug. What platform are you on?

I’m on MacOS 11.6. If you want, I can test a more recent build as well?

Here’s info about the build I’m using:

Application: KiCad

Version: (5.99.0-12972-g3d2ffc12c1), release build

wxWidgets 3.1.5
libcurl/7.64.1 SecureTransport (LibreSSL/2.8.3) zlib/1.2.11 nghttp2/1.41.0

Platform: macOS Big Sur Version 11.6 (Build 20G165), 64 bit, Little endian, wxMac

Build Info:
Date: Oct 26 2021 18:23:52
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.5.3
Curl: 7.64.1
ngspice: 35
Compiler: Clang 12.0.0 with C++ ABI 1002

Build settings:

Here is a screenshot of the Open dialogue when running “” directly.

If you click the “Options” button then you’ll get a dropdown where you can choose to see legacy files.

(I’m updating the build to add a 3rd item “all schematic files” which will be selected by default but until then just use the dropdown.)

(Actually the Mac build will no longer have the Options button at all and always show all schematic files after the fix. That fits better with their HIGs.)


Yeah. That sounds like a better solution. I have never noticed an Option button like that on OSX since it’s normally displayed like the enclosed dialogue from 3D software Rhinoceros. Here, pressing the Options button will remove the Options since they are showing by default.

Once I tried to open my old file, I got this dialogue box:

And then the main part in the schematic fails to load if you try without that Cache-file. I have never ever had a file with that name on my harddrive, so I really don’t see why it is asked for. Is this name just a suggestion as to what the file might be called?

Those “[Project]-Cache.lib” files are auto generated by KiCad V5.x. and probaby each of your projects has one. In KiCad V5.x the graphics for schematic symols is not stored in the schematic. Schematic symbols only have a link to a library. This caused problems if a project was moved to a computer that did not have the original libraries. The “[Project]-Cache.lib” was added as a stop-gap method to have a backup in this case, so the graphics of the schematic symbols could still be reconstructed. If both are missing you get the dreaded [??] symbols in the schematic.

A longer explanation: