Project Designs (multi-board)

I’ve used KiCad to create a few simple boards and I’ve enjoyed learning it and getting away from “hand drawn” circuits. That said, how does everyone handle “final projects”, where there are multiple boards to connect together? For example, I have a project with 3 separate boards being connected together and I’d like to make a diagram to describe exactly how to connect them to help my future self. This is obviously not a PCB, so I’m only looking for the schematic side.

For example, “connect these two board with I2C”, “connect pin X from this board to pin Y from that board”, “power this board from that supply”, etc…obviously these are very generic statements, but I basically want to document how to connect the entire project (board and sensors) together.

I don’t really love Fritzing, but I guess I’m kind of looking for something like that (but there won’t be a breadboard). Ideally there is a good way to do this in KiCad that I have not yet discovered.

An example of how I would do this:

PCB 1 = Project 1 has four connectors going off board. Give these sockets the values S1 to S4.
PCB 2 = project 2 has two connectors going off board. Give these sockets the values S5 & S6
PCB 3 = Project 3 has three connectors going off board. Give these sockets the values S7 to S9.

Call project 4 the wiring diagram for projects 1 to 3.
Draw three graphic rectangles with labeled connectors in their appropriate rectangles to represent the three PCBs. Place the appropriate plugs adjacent to their respective sockets and draw the connecting wires. Use individual wires or busses, whichever you deem appropriate.

1 Like

You can take advantage of hierarchical sheets.

Put most of each board’s schematics in a sheet in its own project, with perhaps the connectors on the root sheet.

Have an overall project which reuses the 3 child sheets with connections on the root sheet. This can be used for ERC, but won’t be realised as a board.

Thank for the ideas, I’ll check them both out. For the overall project, do you just create a custom footprint for each board or is there a way to “automatically” make a footprint from the PCB or schematic of each board?

A footprint is for an IC (or resistor, or other part). I guess you mean the PCB outline (the stuff on the Edge.Cuts layer) here.
In Stand alone mode, you can import the PCB (and it’s outline) from another project. You can also create a template that already has the PCB outline in it. KiCad comes pre-installed with a bunch of templates. For example for Raspberry pi “hats”, Euro cards and some nucleus add-on boards.

In one of my projects I have a (passive) interconnect PCB, and a bunch of “daughter boards”. For the schematic I have designed a custom connector symbol, that has all the signal names on it. I use dual row headers to connect all the daughter boards to the “main frame”. For the main frame I use female headers, and for the daughter boards I use angled male headers. But they use the same schematic symbol, so all the signal lines (power, GND, I2C, SPI, etc) line up.

Why do you need footprints for the child boards in the top project? You’re not going to make a PCB of the top project so the schematic isn’t progressed to a PCB.

Yes I should have said symbol instead of footprint.

If you use hierarchical sheets, you automatically get the rectangle that is the child sheet so no need to make a symbol. You could put text or graphics on top of it.