Copy schematic and update


#1

Hello everyone,

I having trouble including other schematics in my new project. I have a power supply(in its own project) and I want to include it in my new project. I can include (‘copy’) another schema using this thread. Warning: It will put the old schematic directly in the middle and may overlay the already drawn parts.

I can see a ‘cache.lib’ file. When I change the power supply the changes are not updated in the new project. Is there a way to link a schematic (and footprints) to another project?


#2

The best option was always and will always be to use hierarchical design for this. Just imagine your power supply lives in its own hierarchical sheet with a well defined interface then you simply copy the sheet file into your new project and include it in that new project like you would any other hierarchical subsheet.

What you need to take care of is that you have the same libraries active in both projects (both should only use global libs for best results) and that the source project is not in need of rescuing before doing this (open the source projects schematic in kicad to find out). Should the source sheet contain rescued symbols then you simply also need to copy the rescue lib and include it in your current projects lib table.

If the source project uses project local libs then the used libs need to be copied as well plus included in the local library table of the target project.

General tutorial about hierarchical design: Hierarchical or flat schematic design, what is best for me? (How to deal with multi page schematics?)


You can also use the append feature of standalone eeschema if you do not want to use hierarchical design in your target project (this can also only import a full sheets so you might need to delete unnecessary stuff if your source project had more stuff on the sheet you are interested in.)
And this also requires the same care with local libs and the rescue lib.


#3

Great suggestion. I looked into it and made a simple hirachical schematic using your thread. The hirarchical schematic its own Project and only accessible through the original project via View->Hierachy.

How can I add it now to different projects?


#4

You copy the sheets you need to the target project using the file browser (as suggested above)
After that add it like you would a second instance of a sheet. (when adding a sheet enter the file name as given by the copied file.)

There is not really a way to have it like a library where you can do changes in the central storage and have it propagate to all your projects. (In theory symlinks could work but this depends on undocumented kicad behavior and on never needing the rescue feature. Plus it is not portable over different operating systems.)


#5

As far as I understand the hirachical schematic (H1) is drawn in the master project. Inside H1 I import my power supply with all hirachical pins and so on from its original locattion. In the project folder the file H1.sch is saved as a copy.

Even if I include it using hirachical elements it is not visible in the project explorer in Kicad, but it is in the folder. Additionaly there is no option to include schematics manually. It is only accessible through the master schematic.

Can I add schematics to my projects for better visibility of all hirachical schematics used?
Is there also an option for the layout?


#6

the main kicad window never shows subsheets. This is because sheets can be instantiated multiple times (In the tutorial i linked there is the balancing unit which is instantiated 6 times per chip sheet). How should kicad know which of the instances it should show to the user if you select to show the file from the main window? (and showing only subsheets that are not instantiated multiple times becomes even more confusing.)

The way to navigate hierarchies is either by duple clicking its instance or by using the hierarchical sheet view of the schematic.


#7

Makes sense.
With the hirachical design my schematic is much more visible now. Since I have a documentaion file I can track the version of the hirachical schematic I currently use.