Back annotate footprint associations from pcbnew -> eeschema

I modified a few footprints when I was laying out my last board, mostly taking a library footprint and changing it slightly then re-saving it into my own library then pointing the PcbNew footprint to my saved library copy.

Now my footprint associations are out of sync with the schema, so if I change that, create a netlist file, and re-import it into pcbnew I’ll lose all the changes I made there.

How can I back annotate the footprint association changes made in pcbnew back to the schema so everything is in sync?

I found the Edit -> Import Footprint Selection option, but that wants a Component Footprints Link file which I don’t have and cannot find an option in PcbNew to generate one.

Typical - as soon as I write the question - I find the answer.

I was looking for a global menu item as exporting footprints back seemed to be a global operation, in fact I found that if you edit one specific footprint, then hit ‘Change Footprints’, the option to Export Footprints Association File is there. That seems like a very odd place, but I’ve found it at least.

The other thing to keep in mind is that back-annotation is automatic if you launched kicad then used the GUI to open both eeschema and pcbnew. If you simply launch pcbnew and eeschema from the command line you get no such feature.

I only use the GUI to launch eeschema and pcbnew and none of the changes I’ve made to any of the three projects I’ve finished thus far in pcbnew have automatically back-populated to eeschama. i believe all those changes are of the same type, changing a footprint association in pcbnew, usually to an edited and locally-saved version but none of them went backwards automatically.

Do I need to turn this feature on? What’s the mechanism by which it works, I have no unaccounted-for files in the directory which look as though they might be for this purpose. I’m using a build from early September 2015, whilst awaiting a release candidate build for OSX, is the feature newer than that?

Not sure what cbernado was thinking of but I haven’t found back-annotation is automatic in any version (nor is forward). You have to explicitly perform the actions in the relevant tools. (up to 4.0.0-stable)

The kicad_pcb, net and sch files all have the footprint name, so there is a triplication of data. The link is by reference or timestamp. There is plenty of scope to get out of sync. There is also the cmp file, which contains a 4th copy of the footprint names, this file is now deprecated I believe but can still be used.

1 Like

Thanks for that - I couldn’t figure out any kind of automatic forward/back annotation at all. It’s fine however as I’ve now learned to do it manually and it seems to work. I have learned it pays to version my designs very carefully, ensuring I’ve forward and back annotated them before tagging them.