141 Dirs 13177 Footprints, Components and APIs

Hi,
For 40+ years I have designed and built PCBs for myself and various customers. In my old PADs system I have 750 footprints. For 20 years I did SMT assembly setup for 10Ks of jobs. I ended up with 3500 SMT packages tied to our pick and place machines.

I recently scanned through all the KiCAD footprint libs and found 13177 footprints, seems like a lot. I was curious what folks might actually have in their personal libs.

I see a need for a KiCAD tool to find footprints. If KiCAD ever moves to managing “Components” (like 1.0k 5% Res and such) they the number of library elements will grow a thousand-fold or more. Since all folks designing boards need to purchase components I can’t see how components can be ignored. For components I used Parts and Vendors then went my own path. This will be a huge task for KiCAD.

As I look for a solution model I see the web. Zillions of programmers writing code in hundreds of languages and it all works because of APIs for communications and data.

I am interested is addressing these areas. If anyone else is curious let me know. bob at kondner dot com

Thanks,
Bob K.

If you open the footprint chooser, then it tells you in the title bar how many footprints it can find.
KiCad-nightly (V8.0.0~rc2) finds 13481 of them:


(*Which is pretty close to what you found :slight_smile: ).

KiCad supports integration with an external database, and I believe this is a better method. It lets everybody use their own database back end (Especially bigger companies likely already have a database with their own preferred parts, including ordering info, etc. So this part is not “ignored”, it’s just implemented in a different way then you expect.

KiCad does have several importers (schematic, PCB, projects, or libraries only) and these are exapanding. In KiCad-Nightly I see: Altium, Eagle, Cadstar, EasyEDA, GEDA). I do not see PADS yet. Maybe you can convert your own libraries via one of those formats. Or else, if you are in to some programming, you can start on creating a converter for PADS libraries :).

As for the searching part…
KiCad does have an integrated search function. Just start typing text in either the symbol or footprint browsers. It’s functionality seems to have degraded a bit recently. I discovered this when test-driving KiCad-Nightly V8.0.0~rc2 and created a topic for this (both on this forum and on gitlab).

(It has received 8 upvotes in just 3 days, and that is quite a lot for such a short time.)

Thank you. I am on 7.0 and I am a newbie. I need to fiddle with these new found buttons! I will look up the database interface. The finder is the tool I did not see and it is a really important find so thanks again.

Bob K.

I don’t know what exactly have to be done to make KiCad managing ‘Components’ in your understanding. May be not a lot.
I used Protel 3 for years and I had there a separate symbols for each component. So when I moved to KiCad 4.0.7 (in 2017) I organised my work the same way. Each symbol I place at schematic (like 1k from R library) has associated with it footprint (in this case 0603) and after placing symbol at schematic I never change its footprint. In Protel I had separate symbol names for 0402 resistors (like 1k_04). But moving to KiCad I decided to not distinguish at schematic 1k 0603 from 1k 0402 and from 1k 0805. As you can’t have two symbols with the same name in one library I needed separate libraries. So I have R1 library (1=1mm length) and R2 library (2=2mm lenth) for 0402 and 0805 resistors.
In Protel I generated my BOM based only on symbol name (was unique). In KiCad I generate my BOM based on concatenated name & footprint (is unique).
What else do you need? You can add extra fields to symbols and fill them with your information and probably use it in BOM. I didn’t tried it as I have it in separate spreadsheet I use to get my BOM.

Hi @rkondner

Regarding Data based Libraries:
There is some information in https://docs.kicad.org/ in the “Schematic Editor” section under “Advanced Topics”.

There are also several regular forum users who have established Data Bases. If you have questions, ask on this forum. :slightly_smiling_face:

Thanks to all who replied.

I have two areas of experience (aka Preprogrammed Neurons) I am trying to satisfy.

  1. We did SMT assembly jobs at a rate of 10 jobs a day. So 30 jobs in our 3 day queue. BUSY! I want good assembly docs.

  2. As an engineer doing PCB work for customers I had to keep part info (BOM) outside the schematic tools. This worked very well, fast and consistent BOMs and it programmed the assembly process.

I suggest 3 BOM formats are required. Assembly, Purchasing and machine readable as in .csv. Getting the BOM outside the schematic gives you many capabilities through it requires a lot of code. See www.kondner.com/files/BB25E.zip for BOMs of one of my jobs.

The filters in KiCAD are nice but I think a search engine is faster and friendlier. For example using filters for web sites in place of Goggle Search would not be very useful.

I am still learning to spell KiCAD. I am currently reading KiCAD schematics into my BOM tool but I want to back annotate into the schematics, at a minimum the footprint assignments.

Thanks for the info, I need to read more docs and think things through.

Bob K.