The What and Why of Digi-Key KiCad Library


#1

What is the Digi-key Kicad Library?

It’s a set of common components that includes tedious items like connectors(usb, ethernet, hdmi), wireless/IoT modules and a whole host of other parts. It is by no means comprehensive, but there should be plenty to give designers, makers, and hobbyists a modern set of starter parts that aren’t necessarily well covered by other libraries. We’ve also taken time with the libraries to make them consistent and easy to use. It’s impossible to make symbols that everyone likes so we’ve aimed for making symbols that most people can live with. The theme here is not a bunch of auto generated square boxes. Some thought, custom artwork, and standards have been applied in building it up, even if there’s still a bit of refinement to go.

It gives people another choice while designing a PCB and allows for anyone to pull together a quick design with parts that are actively being manufactured and stocked. The library is being fed and updated with data directly from digikey.com’s API so any changes in Stocking, NRND or Obsolete status will be reflected in the library upon each update.
image
The library is licensed under the same open source friendly Creative Commons CC-BY-SA 4.0 (with exception) as the official KiCad Libraries so parts can be freely used and modified for commercial designs. The library is hosted and maintained on GitHub so any issues or suggestions can easily be discussed there. We also have an area set up on the Digi-Key TechForum with tutorials and to answer questions that anyone may have.

Why did we do this?

Our team of over 90 Engineers and Technicians has used a wide variety of EDA in our current jobs as well as past gigs, school, and hobbyland. A small group of us saw the value in trying fill a potential need in the open source community so we gave it a go and developed the digikey-kicad-library. One paradigm that the official KiCad libraries haven’t accommodated well is an atomic parts model. This can be defined a few different ways depending on EDA tool familiarity, but it is primarily the idea that a “part” is a fully defined unit that includes both a symbol and a footprint.

There has been many discussions about atomic libraries on the kicad.info forums, dev lists and elsewhere, so the idea of creating this type of library is rooted in our observation. One of the biggest advantages is that when you choose a symbol, it is fully defined with an exact orderable part number and footprint associated. This makes it much easier to quickly put together a complete Bill of Materials (BOM) with parts that drop right into a purchasable cart. The downside is that, since exact part info is filled in from the beginning, it’s more work to be flexible later in the design process. Furthermore, if every part is an orderable part number, there’s less opportunity for easy reuse of symbols and managing such a large library can be quite a challenge.

We are starting out with nearly a 1000 parts in this library, and we’re already prepping more. As we went through the development process we had discussions with people in the community about the library and have incorporated some suggestions. So if you have any ideas feel free to strike up a conversation on our TechForum or start an issue in the GitHub Repo.

To get the latest version of the library image it directly from the GitHub Repo. To learn a little more about how to use the library take a look at this post.