Is this for drawing the schematic, the PCB or both?
I would probably divide the project in sections.
Start with the controller section as a separate project, and do it’s PCB layout.
Then, in the other projects, you can include the schematic of the controller as a hierarchical sheet.
For the PCB it is a little more complicated.
An option is to use Pcbnew in “standalone mode”. This means that you start it directly from the command line or a file manager, and not via KiCad’s project manager.
In Standalone mode, you can import a PCB.
For the first iteration the workflow for the PCB would then be:
1). Finish the “controller” project.
2). Finish a “daughter project” schematic with hierarchical sheets.
3). Start PCB of the “daughter project” via KiCad’s project manager.
4). Close KiCad.
5). Start Pcbnew in “standalone mode”.
6). Open the PCB of the “daughter project”.
7). > Pcbnew / File / Append board, and append the “controller” board.
8). Save project.
9). Close Pcbnew.
10). Open KiCad’s project manager.
11). Open Eeschema.
12). [F8] to transfer the rest of the components and the netlist to Pcbnew.
13). … This also opens Pcbnew.
14). Design the rest of the PCB.
If you later decide to change the “controller” part, then first modify it’s PCB, and then delete the PCB part of the “controller” part from the “daugher project”, and redo the import in Pcbnew in stand alone mode.
In a similar way you can also import “daughter project 1” into “daughter project 2” and then delete double parts to combine it in a single PCB.
At the moment there is no real “module” design in Pcbnew and untill a better method gets implemented this seems to be a reasonable workaround. But it’s just my idea, and I’m open to better suggestions.