Pcb/gerber to schematic, schematic-file doesn't exist anymore


I would like to know if there’s a way to recreate a schematic-file by an existing Pcb-file or Gerberfiles. Reason: Crashed computer and these files are the only I have. The routs between the components still seems to exist.
Thanks for help!


Gerbview can back export gerber files to create a KiCad PCB, as this is the same data, just in another presentation. If you do this you get PCB outline, positions of footprints, all tracks, locations of mounting holes, but it is far from perfect, as a lot of information is simply missing in the gerber files.

But going back from a PCB to a schematic is another story. Those look quite different, but still, it’s better then nothing.

The procedure is to start with making a backup of course. There is no need to take risks with the little you’ve managed to scavenge.
After that, you start by drawing a new schematic. (There is no way around re-creating it yourself). Use the same RefDes as are on the PCB, and then use the settings below in Eeschema / Tools / Update PCB from Schematic

You turn off all “Options” because you do not want to change the PCB itself. You also use Re-associate footprints by reference. With this you tell KiCad to use the RefDes to match up schematic symbols with footprints. (The normal match method is with “Timestamps” (Or UUID in KiCad-nightly V5.99) but those items are lost when you lost the schematic.

If you make any mistakes in the schematic, and then update the netlist in Pcbnew, then there will be DRC errors, and KiCad tells you where those errors are. You solve them by changing the schematic, and then run Update PCB from Schematic again, and run DRC in Pcbnew to verify that schematic and PCB have the same netlist.

It would be nice if KiCad were “symmetrical”, and would support the reverse flow. With this I mean that you import the netlist from Pcbnew into Eeschema, and then you can show a ratsnest in Eeschema as an aid to make connections just as you have now in Pcbnew. Unfortunately this is not supported though.

When you run Eeschema / Tools / Update PCB from Schematic you also loose the netlist in Pcbnew, as the goal of that update is to put the netlist in Pcbnew. The only thing you have is then the physical layout of the existing tracks and how they connect to pads of footprints. So make sure you do not modify any tracks until you can run DRC without errors.