Hello guys!
I imported a project from Altium into KiCad 8 which uses hierarchical sheets. The schematic has two isolated channels that uses the same sheet for its design, or in other words, the hierarchical sheet is just copied and pasted. The reference designators in the two sheets are the same, exept from a postfix A for the one sheet and B for the other sheet. For eample, one sheet har R87A and R88A, while the other har R87B and R88B. This is where the problem arrises since KiCad does not accept/understand this and wants to annotate the sheet before updating the PCB.
Is there a workaround or a fix for this? alternatively, how is this supposed to be done if I made the schematic from the start using KiCad?
I could redo things from scratch here but the schematic is quite large and I would like to avoid changing too much, at least for this revision.
Any suggestions would be much appreciated. For NDA reasons i have just blured out some of the chematics with a green box.
Kind regards
Rein
Unfortunately there is no easy fix at the moment, because KiCad at the moment requires that “R87A” and “R87B” refer to two units of one component (R87) rather than two components on different subsheets. There is no way to enable the Altium-style designators in KiCad (but we want to support this in a future version).
To migrate such a project, you would need to:
- Re-annotate the schematic (keeping track of the old and new designators for each channel subsheet )
- Manually update the PCB’s references to match
- Re-sync the schematic and the PCB by using “Update PCB from Schematic” dialog with the “Re-link footprints to schematic symbols using their reference designators” option
Obviously step 2 here is a bit tedious and error-prone. Maybe someone has made a script for this or knows a better way, but I do not. You can at least minimize the work by only re-annotating the subsheets in question. This should result in there being no need to change the PCB outside the repeated channel.
If you are doing this from scratch in KiCad, it will all work fine, you just have to accept that different channels will have different reference numbers (R87 vs R112 or whatever) rather than the same designator with a letter suffix.
Thank you, craftyjon!
Okay, then I think I will go for an ad-hoc solution of naming the R87A0 and R87B0 right now, and then rename everything for the next version. This will probably not look good in th BOM, but at least I will have a visual reference to the original schematic.