How to integrate a database library?


As someone who has used KiCad to design a few PCBs, the hardest part is finding the right component footprints. I feel lucky when the footprint comes with a decent 3D model. If KiCad had a good integration with the issus (Celestial) database, it would boost my productivity substantially.

It appears that Digi-Key is a big sponsor of KiCad already. Perhaps they would donate more money to prioritize this kind of database integration.

Footprint management is hard and these changes shouldn’t be taken lightly. At a minimum, the Library Browser will need a new filtering system and will need to start making async network requests.

@issus, can you post some screenshots of the search-filter-select workflow in Altium?


I forget who, but a knowledgeable Forum Member made the suggestion that Footprint information on a DataSheet is just a “Serving Suggestion”.

Digging a little bit deeper into KiCad, it is not that difficult to create your own Atomic parts with your own custom Footprints.


Making custom footprints is rather time-consuming. And not many circuit designers are skilled 3D modelers. I think most KiCad users will benefit from improved component search.

KiCad’s built-in component library has grown a lot lately, and now has 10,189 footprints and 11,300 3D models. Maybe it would be sufficient to add search on top of KiCad’s library.

Still, it would be better to have the 29,765 parts in Celestial Library. They come with datasheets and Digi-Key SKUs. An added benefit of the external database architecture is that users on old versions of KiCad can get updated components without manually installing a backport. But because of trust and reliability concerns, it will be important that users can configure their database connections.


I’m no PCB design pro, but the comment about the ease of creating “atomic footprints” makes me think that maybe the “leverage” is in creating a script that will go through the mondo “issus” database, find a part (maybe a short-list) matching descriptors, and create the KiCAD footprint from the data found for the user to manage and use as they would any other. Let the DB be “what it is”, and enable the KiCAD user to get what they want from it with minimum time & motion?