Shared schematics across different projects

I have 2 projects where the schematic is common about 60%. Each time I have to edit something or change an IC I have to do the work twice, since as far as I know there is no clipbard in between .sch files. Is it a good idea to have, for example, a power_converters.sch that projectA.sch and projectB.sch have as a sub schematic ? So schematic is the same but layout different for each project. I guess the tricky part will be the references, right ? Should they have the same reference so the project annotates the rest accordingly ? This is also useful to reuse stuff if at some point in the future I want to use the same battery charger, and there is already a working layout for it.

I use hierarchical sheets even though I need a single instance of the sheet.
Then, a sheet can be copied and pasted from one project to another.
The annotation must be made with some care in order to do not duplicate references. I do it with #xx being # the number of the sheet.
In v5.99 (v6) it is easier because the user can set the sheet number. In v5 stable is a little bit more complicated.

1 Like

Copy & Paste does not work between different KiCad Instances in KiCad V5.1.x, but it does work between hierarchical sheets within the same project.

One way to copy a part of a schematic from project A to project B, is:

  1. Copy the schematic file from project B to the directory of project A.
  2. Open KiCad with project A.
  3. Create a hierarchical sheet, and use the filename of the copied schematic sheet.

After this you can copy parts of that sheet and paste it again in project A.

1 Like

I ended up doing this. Reassigning the correct references and updating pcb by reference. It would be awesome if the references were asigned by proyect and not by sch file so you could have same sch file shared with several projects but for each proj, different references.

The references can be changed for different projects. It does not matter if you have not started the layout of the second project. For your usecase I think it is better to keep the same annotation.

I have projects that are 90% the same. So the “memory” schematic is the same in all projects. I have all these projects in the same directory. (can be hard to handle) I do the component ref numbers by hand. Memory is all 500 numbers while the supply is all 200 numbers. You need to remember that any change to a shared schematic goes to all projects. This can really save time or really get you in trouble.

Most people would have 10 different directories with 10 memory schematics, etc. I have 1 directory 10 projects with 1 one power supply sch. Either way there are problems.

I cut and paste between two boards but not between sch. I wish this was easy.