After some internet search and chat with chatGPT I have a solution for neat organization of files for a project containing multiple schematics (mainPCB, controlPCB) and multiple revisions of each schematic (mainPCB1, mainPCB2, controlPCB1, controlPCB2). The task is as narrated below:
First of all all my KiCAD projects are stored under mydocuments > KiCad folder. Now I am designing a project named, say motorDrive. So I create a new folder motorDrive under mydocuments > KiCad folder.
Then I start my main PCB under the folder “mydocuments > KiCad > motorDrive > mainPCB > main1” and draw schematic and corresponding PCB. After some time I decided to start version2 of the main PCB. Version 2 may be having few changes like some additional components added / deleted and I need to start it from the schematic/pcb pair I used for main1. And this project should fall under the folder mydocuments > KiCad > motorDrive > mainPCB > main2".
So mainPCB1 files are like this:
…/KiCad/motorDrive/mainPCB/main1/
├── main1.kicad_pro
├── main1.kicad_sch
├── main1.kicad_pcb
Then I need to create
…/KiCad/motorDrive/mainPCB/main2/
├── main2.kicad_pro
├── main2.kicad_sch
├── main2.kicad_pcb
└── …
So first
- Duplicate the folder
Using File Explorer main1 → copy to → main2
- Rename the project files inside
Inside main2/, rename:
main1.kicad_pro → main2.kicad_pro
main1.kicad_sch → main2.kicad_sch
main1.kicad_pcb → main2.kicad_pcb
- Update the internal references
Open main2.kicad_pro in KiCad:
KiCad may automatically detect that schematic/PCB filenames have changed.
If prompted “Can’t find schematic file,” just browse and select main2.kicad_sch.
Once loaded, save the project to update internal references.
- Check schematic ↔ PCB link
Open main2.kicad_sch and main2.kicad_pcb:
In schematic editor, go to Tools → Update PCB from Schematic.
It should correctly link and recognize your PCB.
If it complains about missing associations, just re-link once; after saving, it’s fixed permanently.
So under the motorDrive project if I have mainPCB1, mainPCB2, controlPCB1. controlPCB2 etc then the folders will look like this:
Documents/
└── KiCad/
└── motorDrive/
├── mainPCB/
│ ├── main1/
│ │ ├── main1.kicad_pro
│ │ ├── main1.kicad_sch
│ │ ├── main1.kicad_pcb
│ │ └── …
│ ├── main2/
│ └── main3/
│
├── controlPCB/
│ ├── control1/
│ │ ├── control1.kicad_pro
│ │ └── …
│ ├── control2/
│ └── control3/
│
└── commonLibs/
├── my_symbols.kicad_sym
├── my_footprints.pretty/
└── my_3dmodels/