Ideas for library organization

I couldn’t find a section for this topic that seems appropriate.

As you may know, I am new to KiCad, but not new to creating PCBs. I have an extensive collection of symbols and footprints I designed for my previous software (DipTrace.) The main things I did wrong there was to (1) neglect naming my parts logically and (2) not organize them logically in libraries.

Now, I am already creating lots of custom symbols and footprints; most are modifications of parts that I am finding in other KiCad libraries, but some are new from scratch. So, I am open for ways to name my symbols and footrpints and organize them into libraries. I have already noticed that some of my names are too long, and am wondering if I need to simply give each one a “part number” and create an index that connects a name/description to each part number.

My question is, “What works best for you?” Thanks.

I guess there are some important questions to be answered by you first…

For example, some designers may have a different symbol for every different resistor (for example) that they use. That information might include the vendor part number and power rating and other details. If you do that, and similar for capacitors (I do not do any of that) then you will have a big library and you probably want to put all of your resistors in one library, or maybe even subdivide further. Given that I do not do anything like that, I throw my limited number of resistors and capacitors into one library called Bobs_Passive. I have one for Bobs_Diodes, one for Bobs_Comparators, one for Bobs Op Amps etc. Similar for bipolar transistors, N channel MOSFETs, linear regulators, switching regulators, logic (in the name of self entertainment I call it “illogic”). I put my name in front of each one so that I know that it is a library which I created rather than one which I got from elsewhere. If you do a lot of digital design, then probably “logic” would be too big a category. So your needs will vary, but this works for me.

Of course (and I invite a conversation on this) once you start to use a library structure I think you are stuck with it (more or less.) I say that because if you reorganize your library and then open up an old schematic or pcb file, it will not be able to find the symbols and footprints which you may want to refresh. So I think you are stuck with your own legacy…

This link to a FAQ may help with your library organising. It explains Kicad library management, how and where you can place your personal libraries etc.

I also use a system much like Bob’s except (maybe as well as) Power symbols, LEDs, Inductors & Transformers. Passives are split. Connectors have their own library and a Sundry for any other stuff that is not electrical that may appear on a PCB.


Thanks for the link.

3 posts were split to a new topic: Hierarchical libraries?

A post was merged into an existing topic: Hierarchical libraries?

Not so long ago I was describing how is my directory (and library) organisation in KiCad and why:

After reading once more what I have written those time one association.
In 2017 (V 4.0.7) I have modified a little (with help of forum as I don’t know Python) a script to generate BOM to get csv file as I needed for my spreadsheet. Reading a script source I found that if I add specific field to my symbols with specific content the symbol will be excluded from BOM. So all my symbols that should not be in BOM (like holes) got that field. I used it also with V5. But V6 added some flags in symbols to do what previously was done by this field. To use it I should use also new script. As I didn’t wanted to learn once more how to modify it I decided to rather modify my spreadsheet to allow for use csv as I got from KiCad script. And here is the association. All my footprint libraries has one letter name and it helped me as to search the symbol in database (just one page of my spreadsheet) I use bare footprint names (without library symbol) and cutting off always the same number of characters is simple.

FYI, all bobcats are not named Bob.

Is there documentation on the NAMING of symbols and footprints somewhere?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.