How to split a schematic across multiple sheets

I’m looking to split a schematic across 3 or 4 sheets. Can someone point me to some guidance on this - the link to a similar question from a while back shows a 404 error. Obviously, I want the nets to all carry across the sheets where applicable, and how do I label across the different sheets. Will KiCAD automatically generate the full netlists when I go across the PCB layout?

Thank you

AndrewR

What you want can be achieved by using hierarchical sheets.

I recommend you to read that section of the manual.

If you need a “plain” circuit, you can see the top sheet as the landing sheet and place all the subcirucuits in different hierarchical sheets.

Connection between sheets can be made with hiererchical pins/labels or with global labels. The range of a local label remains within its sheet.

The hierarchical sheets become powerful when the circuit has repetitive blocks. See the manual for a more detailed explanation.

  1. Make a backup, you’re likely to make some mistakes when first working with hierarchical sheets. If you discover a mistake early, you can also use File / Revert from the main menu.
  2. Read some info on how hierarchical sheets work, and hierarchical and global labels.
  3. Add a hierarchical sheet to your main sheet.

After those steps, you want to move a part of your schematic to a new sheet. Unfortunately this is a bit finicky in KiCad, but it does work:

  1. Schematic Editor / Tools / Update PCB from Schematic, and make sure the option: Re-link footprints to schematic symbols based on their reference designators is off. Do this just to make sure that the current state of your project has no problems.
  2. Select a part of your schematic and press [Ctrl + X] to cut it.
  3. Go to the hierarchical sheet.
  4. Schematic Editor / Edit / Paste Special. Make sure the Keep existing reference designators, even if they are duplicated option is on.
    image
  5. Schematic Editor / Tools / Update PCB from Schematic, and make sure the option: Re-link footprints to schematic symbols based on their reference designators is on. You will get a bunch of Error: Multiple footprints found for … messages, but ignore these.
    (Note: this has been fixed in V8.0.0-rc2)
  6. Verify that the proper links between the schematic symbols and PCB footprints has been restored.
1 Like

Thanks for this. I was able to split the schematic successfully and create a hierarchical schematic then re-annotate it. I still have to add the global labels though.

Rgds
AndrewR

Moving parts of a schematic to another sheet is a common operation and it is a bit of a nuisance that this is a two step process at the moment. If paste special had an option to preserve the UUID’s while pasting, then this would remove a step and there is less opportunity for errors. To do this properly, it would also have to check for duplicate UUID’s during pasting.

I am thinking of making a feature request for this. An extra entry in the Paste Special menu with a radio button for something like: Maintain link with PCB Footprints.

2 Likes

In Altium…
In Altium, Paul there are options like this. It is needed for Kicad.
Much the same Kicad needs " No reset UUID or designator etc etc " on paste.

It is a very common requirement as the design grows and for your own sanity (and ease of use and readibility) that the schematics starts splitting into multi sheets

Ive got my multiple sheets going and am able to annotate all of them and it looks ok so far.

Quick question about my understanding of labels

ordinary labels will only connect points on the same sheet.
global labels will allow interconnections between sheets

So, if I have +12V local labels on two of my sheets, if I want those 12V to connect across those two sheets, I should add a global 12V label on each sheet.

Does this sound right?:

AndrewR

A +12V label does not connect to a 12V label because their names are different, but I guess that is not what you mean.

  • Local labels are limited to a single sheet.
  • Global labels connect to all sheets of a project.
  • When a local label and a global label with the same name are on a single sheet, they are connected too.

This is also explained in the manual: https://docs.kicad.org/7.0/en/eeschema/eeschema.html#electrical-connections

Be careful with power symbols.
Power symbols are treated as global labels even though they may be into a subsheet.

1 Like

Yes, that too.

If you have doubts, then put the footprints on the PCB and check the connections there.

I’m using ‘+12V’ for the local connections and then a single global ‘12V’ so it should be ok

Something in human psyche makes it very easy to “forget” about the “+” sign in labels when reviewing a schematic. This becomes more pronounced when somebody else looks at your schematic, or if you look at a project you made some time (years) ago. For me, it was also unclear if this was an intentional difference or a mistake.

I would not want to rely on such a small difference and would use some other way to make a distinction.

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