Hierachical design with multiple PCBs

I once did an experiment in this direction, and it did seem to work.
I first made a few projects in the same directory, each project with a schematic for one PCB.

After that I made the “root” project, and used the schematic files from the other projects as hierarchical sheets in the “root” design.

When working this way, then work on the schematic should always be done on the “root” project, to make sure annotation is unique for each component. Project specific libraries probably have to be added to both the root project and the sub projects in which it is used.

Back then I made a write up in a quite long forum post, and at the bottom of that post I also posted the zipped project:

Do note that the “official” KiCad standpoint is “one PCB per project” and this whole Idea was just an experiment, and I did not complete the project. But from what I did do it all seemed to work as expected.

You have to do component annotation in the root design to make sure that each component has a unique Refdes. If you make a mistake by for example doing annotation in a sub project and you have components with the same RefDes, it’s not a big problem because KiCad normally uses unique timestamp values as internal references between schematic symbols and footprints on the PCB in Pcbnew, and re-annotation in the root project should propagate to the final PCB’s when you work on those projects.

=========
Your “backplane” will be a PCB, and therefore a separate project. Do not make the mistake to put the backplane in the root project. The root project sees all components, and if you try to make a PCB from that, then all components will be placed on the PCB.

=========
The things you gain with the root project:

  • Block schematic with an overview of all sub projects.
  • ERC check over the whole design.
  • Easy switching between schematics with the hierarchy.
  • Copy & paste of connectors with wires and labels attached to another schematic (watch out for male and female footprints!) speeds up design and reduces errors.
  • Quick switching between projects by double clicking on a project file in the project manager.
  • You can make paper copies or a .pdf of all schematic sheets in one go.

================
[Edit]
Eelik (below) has a good point.
I have not tested this in V5.99. I just installed V5.99 very recently and have not done any serious work with it yet.

1 Like