Hi,
I’d like to catch up on zoonman’s post for Multiboard support that had been automatically closed.
Basically I am thinking of what you’d find in those wonderful service manuals of vintage AV- or Measurement equipment:
There is a block diagram showing all the modules (aka PCBs) and how they are interconnected. There is a common BOM for the complete device with i.e 3digit designators usually starting with the same digit on each PCB (All parts on power supply are x1yy, processing is x 2yy, … x being the component [R,C, U,…] and y the numerical designator).
From a device’s perspective it would be logical to have all things electronic organized into one project. All the PCBs, but also things like internal interfacing / wiring or simulation.
nhatkhai proposal to design a panel with various PCBs was actually used for AV-equipment in the 80s. Companies like Onkyo they would arrange all the various single sided cardboard PCBs they needed for one device into one panel, populate this, break apart and make one product from it. Nevertheless this would limit flexibility as you can only use one PCB technology for all PCBs. In reality you would probably like to use multi layer PCB for the processing unit, cheap 2 layer for keypad PCB and may also require flex PCBs for moving parts.
Also for simulation an engineer might prepare dozens of small SPICE simulations for a project. Never the complete schematic, but rather small and abstract models of parts of a project to determine analog parts values. It currently annoys me with KiCad that I have to have one project and one schematic for a small simulation. With cmdline Spice one could have many “schematics” in one folder and invoke Spice on the one that one wants to simulate.
Basically I believe that KiCAD workflow (eeschema → pcbnew) is well suited to deal with multiple PCBs in one project. eeschema doesn’t know anything about PCB technology, but passes on the information about (one) PCB to pcbnew by means of netlists.
By adding a parameter to the hierarchical schematic feature of eeschema one could tell KiCAD if such a schematic is describing a real PCB or virtually grouping circuits.
This additional parameter is inherited by all schematics / parts that reside on this schematic.
So every signal, component knows on which PCB it resides, or if it is virtual like for simulation only.
By using the hierarchical schematic browser in eeschema one could select (or mark active) such a schematic that describe an individual PCB so that netlist generation, invocation of PCBnew or SPICE only work on the activated schematic.
Interconnection between PCBs is managed by using global labels on the edge of the schematic blocks in the top level schematic.
Nets with identical names on different PCBs have to be internally extended by a PCB designator to make sure they are unique.
With this all highlighting / searching from schematic to PCB and vice versa should work.
I see the big advantage that I can collect all information about a product that one develops in a single KiCad project and that modifications (pin-swap on connectors) are automatically updated und documented.
Furthermore I would really like to have multiple small schematics in a project that I could individually activate for simulation.
Looking forward to your thoughts about this proposal.