KiCad now has support for update schematic from PCB.
It annotates in the following order:
- Reference (Alphabetical)
- Value (Numeric where possible)
- Footprint (Alphabetical)
- X Position (Numeric)
Example of a sort
On the board (10k 0603 resistor group)
This is primarily for hand soldering one-sided boards. What I do is print the symbol fields table from kicad. Then go through with a spool of components one at a time. Ex:
- R1-R10 are 10k 0805 resistors. Grab 10 of them and attach them to any R footprint valued R10 or below. Start from the left. If you soldered R2 and the next component you see is R4, you know that R3 is between R2 and R4 on the X axis.
- R11-R15 are 10 ohm 0805 resistors. Grab 5 of them and attach them to any unoccupied R footprint valued R15 or below.
- Repeat until you reach the end of the list.
This means you don't have to look up each reference for each component. Just look if the reference value is lower or equal to the highest value for that part.
- Download HandSolderAnnotate.py from this repo.
- Put it in your KiCad plugin directory (on windows that's under Documents/KiCad//scripting/plugins)
- Open the PCB editor and go to Tools > External Plugins > Refresh Plugins.
- Consider taking a backup of your project, just in case!
- Go back to the same menu and Click Hand Solder Annotate to annotate your board.
- Go to Tools -> Update Schematic from PCB
- !! WARNING !! Make sure Re-link footprints is UNCHECKED or this will break your board. You can enable the other checkboxes except Net names. Then click Update Schematic.