Schematic and footprint lost connection

Hi I am new to KiCad and this forum so please forgive me if my question is stupid or discussed before, I could not find the subject else ware.

I have a “larger” schematic that ended up being clustered and therefor did I chose to put it on sub-sheets. I have already placed components, connected traces and most is as I would like it to be.

Mu problem is that when I now use the “load netlist” button does KiCad create new components on the PCB, just as if I had no components at all on the PCB. Is there a way to re-link schematic symbol and footprint on the PCB?

Thanks in advance! :slight_smile:

In the current KiCad V5.1.8 there is unfortunately no option to do this.
In KiCad V5.99 (soon to become KiCad V6) there is a “paste special” command that can preserve the RefDes annotation.

For the current stable KiCad version, a possible workaround is:

  • First print the schematic on paper, or plot to a .pdf file to have a reference.
  • Move blocks to the hierarchical sheets (This breaks references).
  • Manually assign the same Refdes values as you have on your paper or .pdf copy.
  • Update PCB from Eeschema with: [F8] / Match Method / [x] Re-associate footprints by reference

If during this process you get a popup for the annotation:


This means that some schematic symbols are still unannotated. Using the tool to annotate will assign new (and faulty) annotation.
Cancel the tool, find the unannotated symbols and assign the right annotation to the RefDes.

You can easily get an overview of all schematic symbols with:
Eeschema / Tools / Edit Symbol Fields

Thank you a lot for your great answer! :slight_smile:
May I sugest that “past special” will be the default way to past things, normally do I think people want to keep the “RefDes” and it’s only in special situations you want to lose that connection? :slight_smile:

I have tried to follow your guide but it keeps making new components. I have found a sort of solution by updating the PCB and use “place relative to” with 0x — 0y to get the new components to be exactly where the old are now and then “update netlist” again with “delete extra footprints”.

It’s not that simple. There are many reasons for using cut / copy / paste operations, but I do agree that the “paste special” feels a bit clunky.

As I wrote before: First fix the RefDes annotation in Eechema, then during the update process with [F8]


You should be able to see a message in the “Changes To Be Applied” message box about what KiCad is about to do.

Thanks, I have a potentiometer with the name RV1 but was named RV5 on the board, I changed the name to RV1 so they were the same, selected as you show but do still get a new potentiometer, now both with RV1 as name.

I am wondering if I chose to ignore the duplicate components it makes and just place them out to one side and delete them when everything is finished. Would that have any bad effect on the finished Gerber files or anything else, beside the design rule check?

You should have renamed the potentiometer to RV5 in the schematic. Not the other way around.

Nope. Does not work.
The new netlist is attached to the new footprints, so if you delete them, you also remove the new netlist links.

What you can do is delete the old Footprints on the PCB, and then drag the new footprints by a pad, and snap them to the endpoints of the tracks that are left. But this should not be necessary at all if you do the re-synchronization properly.

1 Like

Thank you a lot! I’ll try! :slight_smile:

YES!!! Everything went perfect, thanks to you!! :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.