How to deal with rescued components?


I updated the Kicad system library and, as a result, eeschema is now insisting on updating my GND component to GND-rescue-project via the rescue helper dialog.

I however don’t want to do this; I want to use the (new) library GND instead. How do I make this happen and why is the rescue helper so insistent on ‘rescuing’ the component?


If you don’t rescue, and allow the library to overwrite your cache, pins could move, pin types could change, whatever. It’s a tool to cover our butts until Eeschema acts more like Pcbnew, where you store footprints in the .kicad_pcb file itself (opposed to calling out to a symbol in a .lib as Eeschema acts now).

It gives you a choice to rescue or not, check or uncheck the box.

1 Like

Thanks, but if I don’t let it rescue it keeps prompting for rescue every time I start it up, and I also don’t have the expected ground connections any more… (I think the global label has changed name).

If I do let it rescue, I get a part in the rescue library which looks ok, but has a weird name in a library I don’t want, and still doesn’t behave right with respect to the nets (same label issue, I think).

Basically, I am at a loss how to recover a working schematic. Can I force KiCad to use the system library part somehow? I tried deleting all refs to the part and the library from my local files but that didn’t help.

1 Like

Sounds similar to this post:

Sometime I was going to write a howto for migrating schematics to new KiCad, but I never quite got round to it.

Assuming that you don’t want to rescue but want to use new components, then:

  1. It helps if you start with a clean schematic with no ERC warnings, fully annotated with an exported netlist, and a PCB layout using that netlist.
  2. Firstly, backup your project - very important! The project-cache.lib should have all the components, and you may need to get them later.
  3. When rescue dialog comes up, carefully make a note of all the old and new symbols. Most are quite similar, e.g. GND, power, unpolarised caps, resistors. The main thing to check here is that the pin numbers are compatible NB Diodes swapped pin numbers This also affects LEDs, so check diodes and LEDs very carefully, Also look at polarised caps.
  4. Now in eeschema, you will probably see a lot of things moved with broken connections. Now, it is simply a question of lining up wire ends with pins.
  5. Pay special attention to check diodes, LEDs, polarised caps
  6. Some of the texts will be in wrong position, with wrong text size. For each component, go into it’s property dialog and clock “reset to library defaults”.
  7. Go to Preferences->Component Libraries. Remove “special” if it is there (you will have got a warning before). Also remove the project-cache.lib if it is there.
  8. Now save the schematic
  9. Close eeschema
  10. Re-open eeschema. This time there should be no “special” warning or rescue dialog.
  11. Some symbols and libraries have changed names, so you may see some “broken symbols” (box with question marks) in.
  12. For each one of those, you will need to figure out where the new symbol is. For each broken symbol, open the component properties, and Click select. If you can’t find it, then you may need to go back to Component Libraries dialog, and add the library.
  13. Hopefully, you should have now got a clean schematic again, with no ERC warnings.
  14. Export the netlist.
  15. Save the schematic

Now is a good time for tea and biscuits :slight_smile:

  1. Open pcbnew. Ideally it is clean with no unconnected nets.
  2. Import the netlist. Hopefully, there should still be no unconnected nets.
  3. If there is, there are two problem areas. Unpolarised components like resistors can get swapped round, this does not matter electrically, but confuses the DRC. Rotate the footprint 180 or rotate in eeschema then export the netlist again. Diodes and LEDs may also be swapped. but do not change in pcbnew! You layout is correct, the schematic needs updating.
  4. Eventually, you should be able to import the netlist without any unconnected nets without having to change any track or zone. If you get to that point, you can be reasonably sure the schematic matches the layout, and is therefore the same as it was before.

That was largely from memory, so I may have missed some things…

Hmm, do you also want to fix the footprints? There may be some biscuits left.