Currently I try to organize a couple of boards in a hierarchy. That’s surprisingly difficult. What I have:
-
6 boards which are loosely related, along with their schematics. More boards are expected. They’re already done with a different EDA application and I found a way to convert at least the schematics.
-
A symbol library and a footprint library, both in a separate folder, one file for each symbol and one file per footprint. All in the old format so far, but the conversion (upconvert) finds them and a reasonably complete schematics with all required symbols appears.
What I want:
-
Keep each board reasonably separate, so files aren’t confused.
-
Keep a common library of symbols and footprints for re-using them across boards. Parts which are tested and found to be usable, also custom parts.
-
Benefit from the symbols and footprints coming with KiCad. In some cases this would mean to edit and copy them to the common library.
-
Avoid to have more than one copy of each common symbol and footprint to avoid synchonisation issues. Sometimes they’ll need edits and doing the same edit in, say, 50 copies of a library is ineffective and error prone.
Apparently there is no application to edit single symbols or libraries. So I tried to edit a schematics directly with eeschema (without ‘kicad’). I can create local libraries and copy symbols between them, but have apparently no access to system wide symbols.
If I create a project in a folder dedicated to one of the boards, I have access to system wide stuff, but no longer to the common symbols library. ‘kicad’ refuses to accept paths starting with …/, even when writing such paths into the project file with a text editor.
If I create a project in the top folder I still have access to system wide symbols and then also to the common library, but also all six schematics and layouts and all other files laying around there as part of the project. A pretty big mess already, not really thinkable to use the same strategy for, say, 50 distinct boards.
I found out on how to copy a symbol from one library to another, but doing so copies not the one edited symbol over, but all of them.
So far I couldn’t find a way to remove a symbol from a library, except by doing this in a generic text editor.
All this is pretty confusing. I can’t imagine that companies having a few hundred distinct boards have all of them in the same folder or keep a separate symbol library for each component of each board. Sometimes symbols and footprints need finetuning, after all, and repeating this a hundred times isn’t exactly effective.
So, what are the best practices to organize for more than one board?