V5 can read V4 libraries no problem. The biggest hurdle to upgrading to V5 is the supplied libraries have been reorganized so any pointers to where a symbol or footprint in V4 is likely to be different in V5. Coupled with the upgrade process doesn’t touch your user settings, most of the problems are with old library settings pointing to libraries that have been renamed due to the reorganization. It isn’t so bad on the PCB (except for pointing to the 3D objects, but you have stated that isn’t a priority for you) because all the footprints that are being used are embedded in the pcb file. But the schematic is another story.
In your case, it is up to you if you can afford to spend the time to upgrade and fix any issues in your project now, or wait until after you have ordered the boards. Then upgrade and fix any issues in preparation for any changes you need to make to the boards. Since you say you only have one project, the upgrade process won’t be as bad as someone with, say, 100 projects. But only you know your deadlines. Just remember to make a backup of your project so you have a square one to return to if you accidentally screw the pooch.
A sensible (at least to me) process to upgrade seems to be: (I’m including information on updating the pointers to 3D objects simply for completeness. If you really don’t care about 3D models and rendering, feel free to ignore those steps.)
- Use the filesystem to make backup copies of your personal libraries (symbols, footprints, and 3D objects) just to be on the safe side.
- Before uninstalling V4 open KiCad to the project manager.
- Select “Configure Paths…” in the Preferences menu.
- If there are any of the paths greyed out, you have some KiCad system environment variables, the current thinking for V5 is that this is a bad idea. Take note of the names of the ones that are greyed out.
- Shut down KiCad.
- Delete any environment variables that you took note of above from your system. (This is just in case the V4 uninstaller doesn’t delete them for what ever reason.)
- Uninstall V4. This won’t touch your settings folder, but will remove any legacy libraries that are in the install location.
- Verify via the filesystem that your personal libraries are still around. If they got wiped out (only if they were in the same location as the standard libraries… Bad practice), make sure you put them somewhere in your system user data directory tree.
- Find where your global fp-lib-table is stored (it is different depending on your OS, see Rene’s link above). Either delete it or rename it.
- Install V5, using the default settings.
- Create a new project first. This can either be your next project, or a dummy project that you will later delete. This is the biggie, you don’t want to open and start remapping a current project until you have the library setup ironed out.
- Select “Configure Paths…” in the Preferences menu.
- Add the paths to where your libraries are stored. (I use three variables, one to where my symbols are, one to where my footprints are, and one to where my 3D objects are. You might be able to get away with 1 variable, but that would be too cluttered for me. YMMV)
- Open Eeschema.
- Open the new schematic library table editor. (“Manage Symbols Libraries…” under the Preferences menu.)
- Add your personal symbol libraries to the global libraries list. (Take note for future reference that there are two tabs, one for global and the other for project specific, or local symbols.)
- Note, when adding libraries, you can multi-select in the requester to load several at once.
- Close Eeschema and open PCBNew.
- Open the pcb library table editor. (“Manage Footprint Libraries…” under the Preferences menu.
- Add your personal footprint libraries to the global libraries list. (Take note for future reference that there are two tabs. One for global and the other for project specific, or local symbols.)
- Note, when adding libraries, you can multi-select in the requester to load several at once.
- Close PCBNew and KiCad.
- Optional: I like to have my personal libraries at the top of the table. I don’t know if this matters during the schematic remap or not, but I like to see my libraries at the top of the list. Because there are so many standard libraries in the tables, I find this works better in a text editor instead of clicking the “Move up” button many times in the library table editors.
- Find the sym-lib-table file in your settings.
- Open it in your favorite text editor.
- Cut and paste the lines for your symbols from the bottom of the list to the top of the list.
- Wash, rinse, and repeat for the fp-lib-table.
- If you have any footprints defined in your personal symbols you should check to make sure the new footprint pointer is still valid.
- If you have any 3D objects defined in your personal footprints, you should check to make sure the new 3D symbol pointer is still valid.
- Now you should be able to open your project(s) and remap the schematic (you should be prompted to remap when you first open your schematic).
- Fix any “broken” symbols (either the wrong symbol remapped or the symbol replaced with a box with two question marks). The new “Edit Symbol Library References…” table in the Tools menu should really help here. Double clicking a cell in the “New Library Reference” column will open the library browser to allow you to choose a new symbol if needed.
- Double check the footprint assignments are correct either with Cvpcb or the new “Edit Symbol Fields…” table in the Tools menu. Cvpcb might be easier to find the footprint you need and to identify the ones that have moved or changed names, but the table might be easier to change several components at once. For example, if you have 50 bypass caps that need their footprint updated:
- Change one in Cvpcb to use the footprint browsing tools in cvpcb to find the right footprint.
- Then use the table from the Eeschema Tools menu to cut and paste that changed one to the group of the other 49. As always, YMMV.
- Update the footprints in on your board to align with the new library organization to remove any potentially confusing legacy issues in future board revisions:
- Update the netlist in PcbNew one of two ways:
- The traditional method, generate netlist in Eeschema then load it into PcbNew.
- The new single step method, using the “Update PCB from Schematic…” tool in the PcbNew Tools menu.
- Use the “Update Footprints from Library…” tool. This will make sure the footprints in the board are the latest version in the library.
- Rotate and/or move any footprints that may have changed back to your desired position and orientation. (One of the many things done to the new V5 footprint libraries is their anchor point and initial rotational orientation were normalized to industry standards.)
- Run a DRC and correct any errors. Pad sizes may have changed affecting clearances, pad locations may have subtly changed breaking connections to traces.
- Labels (both Ref’d and value) may have moved and/or changed size, so check your silkscreen and fabrication layers and clean up as needed.
- You may need to change 3D objects and/or find new ones. Reference the 3D viewer to easily locate the incorrect (for your project) ones and/or the missing ones. (For example, the old terminal block 3D objects were low quality and none of the volunteer librarians have had the time to replace them with new high quality ones. Thus any terminal blocks won’t have 3D objects. You’ll have to find your own for the time being.)
- Update the netlist in PcbNew one of two ways:
- Wash, rinse, repeat for any other project. Either now or as updates are required.
- Your project(s) should (hopefully) now be normalized to the new libraries.
- Clean up any library table, libraries, and project backups as you feel necessary.
@Rene_Poschl Feel free to use my process above in a FAQ if you think it would be valuable for others. Also, if you do, feel free to make any corrections and/or clarifiactions as needed.