Guidance on hierarchical design (or not), svp?

Newb here; I’ve been trying to get going on KiCad since last spring, but Mentor keeps sucking me back because of their “strokes” UI (I opened a feature discussion about it at the time), which I adore. But I’m really trying to give this a go.

Before I get started with a new schematic, I could use a pointer. This is going to be a hierarchical design, a couple of boards and a backplane. Is there a correct (or simply favoured) strategy for setting this up in a new project? Or does it not matter because the schematics, if done as separate projects, can be integrated into a hierarchical design later, or what? I really want to get going on one of the (daughter board) schematics and its layout, but want to make sure I don’t back myself into a corner by failing to organize it properly up front.

First, you don’t want strokes. A stroke is dangerous, you may end up in a hospital (or worse).

Ah yes, you can use a pointer in KiCad too!


The way KiCad currently works is one project for each PCB. Even if you draw a hierarchical schematic, it is still for one PCB. There have been several experiments for combining different PCB’s into a single / bigger project, but it’s all experimental.

There are a few small things that can help. You can for example create a template from one of your boards, and then use that as a start for one of the other boards. This makes it easy to share the PCB outline and connector locations between those PCB’s. You can also create a schematic symbol library that has a custom connector with all the signal names, and then use that connector both for the “boards” and the “Backplane”. This reduces the chance for errors in signal wires.

I think you can also share a single schematic sheet between several projects, but that may be stretching it a bit. KiCad already has some clever ways built in to include a hierarchical sheet multiple times in a project, for example to create multiple instances of some part of the circuit. The “Replicate Layout” plugin can also be of great help when a part of a schematic is included multiple times.

Be very careful here.
The basic philosophy for KiCAD is: one project, one PCB.

Hierachical schematics are wonderful for enhancing the readability of those, but are in no way intended for backplanes or plug-in boards. Don’t go there, you’ll land in trouble.
There are other PCB-CAD packages that will handle that situation much better.

Great - thanks for the clear direction. I’ll dive in, one board per project.

@paulvdh - You were in on the “strokes” (the good kind) conversation I started back in April, and if I can get properly up to speed with KiCad this time I’m going to start seriously advocating for it. As I said, there’s no way to appreciate how brilliant it is - and how much it speeds your work - until you give it a try. As for the bad kind, I’m very conscientious about staying on my meds!