How to import different projects .sch files into one hierarchy sheet


@hermit thinks that there is a way to get annotation changes from the pcb side of things back to eeschema. (I could not find a GUI option for starting such a tool so i highly doubt its existence.)
Even if such a tool exists in the future v5 i doubt it would help if the pcb was not created via a valid schematic. (How would eeschema know which symbol to give what new annotation?)


It won’t be able. There’s some limited form of back annotation. I have never used it. Maybe it’s the ability to change the footprint in the pcb and notify eeschema about that change, i.e. change the symbol’s attached footprint. Check pcbnew’s export and eeschema’s import menus. Real back annotation would have at least two cases:

  1. Geographical re-annotation (change reference numbers according to the position in the final layout).
  2. Selecting e.g. MCU pins (GPIO1,2…) when laying out the tracks.

There have been developer discussion about back annotation. Maybe in 6.0 or later.


There is a chance.

Before merging: re-annotate both schematics being aware that no reference is duplicated.

Then generate new netlists, import the netlist with footprint selection timestamp.

When merging schematics and layouts the duplicated reference/footprint is already solved.


OK, I have merged 2 project schematics into one project.

I have also merged both PCB layouts by opening just the PCB New programs individually and then copying and pasting from one PCB layout to another.

Now I have parts with the same reference numbers on the PCB layout.

I do not want to alter some of the more complicated layouts that I have so what is the best way to deal with getting all the parts to have unique reference numbers so the current PCB layout will not have issues?

I think I’ll be good to go once I figure out the best way to deal with this.

I think this is what @Pedro was referring to in his last post but I’m not sure.


You can be sure now.
Once you know how to do it, try re-annotation before merging.
Re-annotation avoiding repeated references.


That makes sense to me :slight_smile:


Ok here is the issue I’m having:

I re-annotate the schematic I’m importing so all the parts start with 100 and up which keeps any of the parts from the schematic I’m merging with from having duplicate part reference numbers.

I then create a new Netlist and import that to the PCB file layout using the timestamp method you talked about which changes all the reference numbers to the new larger numbers. I then save that altered PCB file.

Then I open the project that I want to merge with and then append the schematic so both schematics are on the same page at the same time.

The problem is that all the parts that are imported from the new schematic are not numbered as they originally were.

I also merge the PCB’s together and the PCB footprints have the same reference numbers as they should.

I tried re-annotating the newly merged schematic, creating a new netlist, and then importing that new netlist to the PCBNew page and choosing update via timestamp but it ignores the parts, does not update the part reference numbers and just imports all new parts.

Could I just manually rename all the parts in the schematic so they match the part reference numbers used on the Parts in PCBnew?

I don’t have a problem manually renaming all the parts if that will work.

Any advice on this is appreciated! :slight_smile:


I ended up just manually renumbering the references for all the parts that were imported to the existing schematic and then created a new netlist.

I then loaded the new netlist into the merged PCB layout in PCBnew and everything worked just fine.

So, I’m done! :smile:

Thanks for your help!