Thanks for the earlier comments. I’d like to move this conversation forward and stay on the technical topic.
Finding (current project)
While checking the .kicad_pcb, I see duplicate entries for the same reference and sheet path, which triggers “Error: multiple footprints found.” For example:
(line 4652) C4, path “/2d2016b1-dbd6-457d-8a9a-407bfc6e520e”
(line 5050) C4, path “/2d2016b1-dbd6-457d-8a9a-407bfc6e520e”
For clarity: Re-link was off initially. I only enabled it later hoping to clean things up. Earlier I added a new C4 (with the correct footprint) and deleted the old C4. I wouldn’t expect that to create duplicates, so either I missed a step or an orphan footprint remained.
Rather than re-litigating the cause, I’d like to discuss a design that could make this safer and more intuitive.
Proposal: unified two-way sync (SCH <> PCB) dialog
Mockup: https://codepen.io/Rolf-Nooteboom/full/JoYpGgG
Goal: One command: Sync that makes symbols / footpatterns match, direction-agnostic. Quiet when the mapping is deterministic; surface a dialog only for conflicts (think Google Drive/Dropbox sync behavior).
It auto-matches parts by current IDs. If those aren’t available, it uses simple rules (reference/ value / footprint) and shows three clear lists: missing in SCH, missing on PCB, and conflicts, so you can link, choose SCH or PCB, or park conflicts.
Looking for feedback on:
Are the following rules sufficient?
- ID not linked > Link (default)
- Not matching symbols > update PCB / update SCH
- Not present on PCB > add to PCB (default) / remove from SCH
- Not present on SCH > add to SCH (default) / remove from PCB
Any edge cases?
Would “auto when deterministic, prompt on conflict” be acceptable?
Happy to iterate the mockup based on your input. 