KiCAD noob here. I’m using KiCAD in a digital electronics class and I have the need to often push out a design with a bunch of footprints and have it work on other KiCAD installations.
One of the common problems I face is getting all the footprint libraries right. For the custom footprints we don’t really have a problem, but for the included footprints there are often subtle variations in the library names and paths that make the associations fail.
Is there a way to have KiCAD collect all the footprints you are using in a project into a single library and .pretty folder that you can bundle with a project for easy distribution? Is there a “right” way to do this?
Of course it is! File -> Archive Footprints. But, because of FPID it is not that simple as one click.
You have to create projectfp-lib-table with archived library, back to the CvPcb and correct associations, then recreate netlist. KiCad still has no automation in this matter. Without this PCB project isn’t full portable.
I had somewhat similar need. I had created three local libraries, but could not access them all in any one new project. But then I was (at least), able to put all my scattered local libraries, with all my frequently used footprints, into one new project folder. That way I can now quickly access all the three libraries in a one single project. You can look up the forum under this heading below, & it may help you:-
Yet a better & professional way I think, is given above by @keruseykaryu
(Though my problem was solved in a simple way, however, my method may not exactly suit you)
I found this “short-cut” method v. useful to get me going quickly ahead in any project:-
I was able to put all of my frequently used “footprints” into one “local” Library (including those that I created + those that I grabbed from the default Library). I could also easily, modify the existing footprints from the default Library, and then “save” them in my local library, in simple steps:-
Open any of your old, or new project launcher & it’s schematic. 2) Then go to Pcbnew 3) from there go to “Footprint Editor” 3) go to “Load Footprint from Library” (If you want, you can also modify that footprint) 4) then go to “Select Active Library” 5) scroll and select any one “name” of your local library (created from before,- as if you had created and added it, the name of your local library will now show up in the default library list) 6) so now click on your local library name (as now the Title Bar will also show your library “name” as an active library. 7) now simply click “save footprint in active library” 8) Do this for each footprint that you want to put in this one local library.
Now you have quick access to all your mostly used footprints in this particular project.
& if you start another new project, then now, you just have to “ADD” that above local library to your new project folder. These simple steps of adding that library to any project is given in the other forum that I have mentioned above.
(however, I wonder if my above method is really “short-cut”? The old time veterans here, they mention that we can make our local libraries almost like “global”. I believe that is true. But till I practice their suggestions, …this above method is doing the job very well for me, at lest till now)
The .kicad_pcb file contains the footprints for sharing a project - there usually is no need to keep the footprints separately - as no one would be needing them for a shared layout.
Do I understood you correctly?
You are creating a layout from a schematic and then want the other KiCAD installations (with students sitting on them) to be able to re-create the same layout with a given set of footprints, you have used yourself earlier.
Ideally you should share the schematic and have the libraries set up to be global ones, which every other KiCAD installation is able to at least access for reading via some network sharing framework.
That can easily be done:
The way you want to go down to me looks needlessly restricted to the student and will have less relevance to their future workflow.
Anyhow, @keruseykaryu solution will do what you want for the CvPCB workflow of symbols not being pre-linked to footprints in libraries, once you get the students to load this project specific library via the footprint wizard as a local library.
If you share the project you can even pre-setup this and then remove the .kicad_pcb file from the archive before sharing it with your students, so they will hit the ground running with that project able to load that local footprint lib.
But I still don’t see how this is better than the global shared library approach from the classroom setup.