Digikey Tips Its Hat To Kicad With Its Own Library

Digikey might wow us with their expansive stock, but now they’re wowing us with a personal gesture. The US-based electronics vendor is nodding its head in approval to KiCad users with its very own parts library. What’s more, [Chris Gammell] walks us through the main features and thought process behind its inception.

With all the work that’s going into this library, it’s nice to see features showing that Digikey took a thorough look at KiCad and how it fits into the current state of open-source PCBA design. First off, this library follows a slightly different design pattern from most other KiCad libraries in that it’s an atomic parts library. What that means is that every symbol is linked to a specific manufacturer part number and, hence, gets linked to a specific footprint. While this style mirrors EagleCad’s; KiCad libraries usually separate symbols from footprints so that symbols can be reused and parts can be more easily swapped in BOMs. There’s no “best” practice here, so the folks at Digikey thought they’d expose the second option.

Next off, the library is already almost 1000 parts strong and set to grow. These aren’t just the complete line of Yageo’s resistor inventory though. They actually started cultivating their library from the parts in Seeed Studio’s open parts library. These are components that hobbyists might actually use since some assembly services have a workflow that moves faster with designs that use these parts. Lastly, since all parts have specific vendor part numbers, BOM upload to an online cart is more convenient, making it slightly easier for Digikey to cha-ching us for parts.

Yes, naysayers might still cry “profit” or “capitalism” at the root of this new library, but from the effort that’s gone into this project, it’s a warm gesture from Digikey that hits plenty of positive personal notes for hobbyists. Finally, we can still benefit from plenty of the work that’s gone into this project — even if we don’t use it as intended. The permissive license lets us snag the symbols and reuse them however we like. (In fact, for the sharp-eyed legal specialists, they actually explicitly nullified the clause stating that derivative projects need not be licensed with a creative-commons license.)

With maturing community support from big vendors like Digikey, we’re even hungrier to get our hands on KiCad V.

Thanks for the tip, [Dave]!

51 thoughts on “Digikey Tips Its Hat To Kicad With Its Own Library

  1. I do call capitalism but in a good way!

    It is obvious that individuals are never true rational beings and that anarchy can never be practical, but I still see capitalism as one of the most effective means of pushing the interests of people. Get your customer base to hate you (ie Makerbot), and see your prospects falter. But do a little extra for your potential customers, and win a little bit. Altruism is, from a philosophical standpoint, very difficult to argue for. Building political, economic, and social systems that allow for one to benefit from the benefit of others is a much better approach. Even if one could cultivate mental defects known as “empathy” and “compassion” into the human population, thus establishing an emotional reward for helping others, emotions prove too vacillating in nature to be useful. Furthermore, there are serious questions about how authenticity and “free will” would be corroded in such a social system. But I digress. I should get back to studying for my IB Philosophy HL test on Thursday.

  2. “(In fact, for the sharp-eyed legal specialists, they actually explicitly nullified the clause stating that derivative projects need not be licensed with a creative-commons license.)”

    Is this written as you intended it?

    “need not be”? Surely that is the opposite.

  3. Anyone who capitalism in a preoperative manner to criticize this action are just as ignorant that who misuse communist and socialist pejoratively. This is nothing more than a value added effort that may or may not increase sales for digikey, but if it does so what? The expectation of earnings is alive and well in communist and socialist economies as well

    1. Is not the best system where people freely incorporate into groups and mostly mind their own business so long as no one restricts anyone’s freedom? Then they all meet to find a solution by a vote following argument. This only works in smaller, close groups, but if it was taken on by many, the government could be got rid of

  4. Woohoo! This is GREAT! I’d they footprints are good, and handle all the little oddball details of the newer packages like VSON. I have been stung by bad footprints and been forced to get fairly adept at creating them. But too much reading of data sheet fine print and too much time.

    These guys are cheap especially for 4 and 6 layer and have a KiCAD to Gerber converter of some sort. There is Gerber out put on KiCAD of course (under File menu –> Plot) but you have to change file extensions and zip them up for DirtyPCBs and most others.

    1. I use Seeed regularly, but I never change the extension of the files. I do however plot the files using the Protel filename option.

      It is recommended to check the plotted gerber files yourself with a viewer such as viewmate as that will allow you to spot errors or improvements before the pcb is made. In 20+ years of PCB design, that step has saved my backside a few times.
      The PCB manufacturer doesn’t know your intentions and will not see a shorted set of pads.

      1. There is still a free version and also if you got a v7 license it is still valid for life (which I’m currently using). I cant afford the time and thus the money to learn a new cad program.

        BTW IIRC this function is at least since v5 in EAGLE

  5. Uploading a BOM, getting the correct footprint for the parts on your list, and getting a quote just got a lot easier.
    Digikey may have become my first stop parts source.

    1. Would buy more from them if i did not have to answer to “national security” checks for importing some resistors and a sd card socket into an EU country (yes really and they demanded to know what i was doing with them, general parts bin wasn’t acceptable for them)

      1. Does Mouser have the same restriction? Usually the US State Department is the driving force behind all the export regulation, and punishment for an improper/unapproved export can be very harsh. Giving you the ‘third degree’ for an SD card slot is still rather silly though.

        1. we could have a lot of fun annoying those people, then have headlines like ‘Maker arrested for ordering resistors from China’ (Don’t say hacker as the public will think you ARE a baddie)

  6. This is the sort of backing KiCAD needs right now; it’s not just about money, but work-investment into making KiCAD a rich environment and community instead of just a program. The best way to get people to use a tool is for them to see it used. Building this type of equity is very difficult, and takes a long time…which is why today’s quarter-by-quarter focused companies prefer to buy existing names when entering a space rather than nurture a seed into a tree.

  7. In my experience Digikey is one of the most hobbyist friendly parts suppliers around these days. It was not always like that but at some point they really put a clear and sustained effort into becoming accessible and friendly to students and hobbyists and it has made my tinkering much easier to have their design guided, articles, data sheet repository, etc. readily available. Also, their PCB ruler was one of the best holiday gifts ever :-)

    1. “It was not always like that”…. I would say that, other than a brief period maybe 15 years ago, it has always been that way with DK. No problems sending catalogs, small orders never an issue, and so on. Not a surprise, given that the company was started by a hobbyist supplying kits and parts for an electronic code keyer.

      1. It was a nice move a few years back when they dropped the fee for small orders.
        I wonder if they plan on bringing back the discount for large orders? After all, their part number still end in ND, which was the code for parts that didn’t qualify for the discount!

    2. Before Digikey it was really hard. You contacted the Hamilton Avnet or other big vendor and weaseled a part by pretending you were a business and making a prototype. The “university project” ploy did not work at all well, and you bought resistors in 100 piece boxes because it was the only way except Radio Shack where you could break your budget very quickly and not get exactly what you need.

      In Silicon Valley people could go to the first Fry’s Electronics in Sunnyvale where you looked at displays components and wrote down part numbers on a clipboard, handed it in, and they pulled your order and called your name. I think the only non-electronic things for sale were the essentials – Penthouse, Potato chips, and Jolt Cola. Digikey sold single components from a nice printed catalog and has just gotten bigger and bigger. I think they used to be located on an Airport and FedEx planes could load right there.

      Mouser started for the same reason. A teacher needed parts and he thought other people would buy his extras.

  8. This is a great initiative. I suppose that Element 14 wished to do the same when they bought Eagle, but for some reason they halted, then Autodesk bought it and…. that’s why the article today is Kicad :D !!!

  9. Good move. I professionally use KiCAD since last summer. You really need to compile it from his git repository to overcome some limitations like easy multiple via in plane, at least until the 5.x release is published. Some PCB manufacturers, like form example Eurocircuits, directly eat your *.kicad_pcb file from there Web interface and produce the PCB without the need of the Gerber files.

  10. I remember seeing video from GreatScott where he makes board in EasyEDA and shows how to integrate LCSC parts ordering service with it. They also have their library integrated in EasyEDA so you can directly order parts when making PCB. It’s very nice to see that KiCAD now does the same thing, it will speed up the prototyping process. Not sure about Digikey’s prices and worldwide availability, but nice feature for sure.

  11. “Digikey might wow us with their expansive stock, but they generally don’t wow us with personal gestures, until now.”

    What? That’s very unfair!

    From http://kicad-pcb.org/about/kicad/

    “Digi-Key Electronics purchased the kicad.org domain name, which was being used by its previous owner to serve malware, and redirected it to the main KiCad website at kicad-pcb.org.”

    I don’t see many other companies doing things like that. Let’s give credit where it’s do so as to encourage companies to do nice things like that rather than show them nobody apreciates it thank you!

    1. Actually we are all pretty lucky that Digikey and Mouser even sell to us. It is pretty unlikely to be very profitable for them. In this case though its pretty simple and not about being nice. Making it easy for a customer convert a design to a shopping list is just smart business. That’s why all the big building suppliers are more than happy to turn your blueprints into BOMs for you. I am sure Digikey will also start putting the screws to their upstream suppliers to do the necessary template as a pre-requisite to stocking their components. McMaster does just that in the mechanical world.

  12. “the library is already almost 1000 parts strong”: Digi-Key’s catalog includes over seven and a half million items. A library of 1,000 parts is essentially nothing.

    I remember when Mouser came out with its MultiSIM Blue PCB CAD software. They released it with an inadequate library, then apparently abandoned it. So while I would love to see Digi-Key support its complete catalog in KiCad libraries, and while it would convince me to switch to KiCad, I’m not going to get my hopes up yet.

    1. Meh, I figure Rome wasn’t built in a day. 1,000 parts is certainly not nothing. I suspect they are targeting their effort at the parts that sell to a demographic likely to use KiCAD. They may have a half mullion parts but you will never use 495,000 of those anyway.

      Also, making the board footprints isn’t that much labor for me. But If I can take the schematic symbols from a similar part this is quite useful to me as schematic layout is where I don’t want to sink a bunch of time.

      1. “They may have a half mullion parts..” That’s seven and a half million. The 1,000 parts they’ve released in this library is 0.013% of their stock. And 1,000 parts is really not a lot. MultiSIM Blue had 99,000+ parts in it. That sounds like a lot, but in practice it meant that there were 500 or so Microchip PIC microprocessors and no others: no ARMs, no Atmels, no 8051s. It also lacked a lot of jellybean logic ICs (eg 74LSxxx).

        I haven’t looked at what’s in Digi-Key’s library, but you might be surprised at what a small number 1,000 is.

        1. well, clearly… even making 1000 library entries is a chunk of work. Kudos on making a commitment to even do that much. I also doubt they spent a lot of time on really obscure parts. In fact, It would have been real smart of them to select the 1000 most popular hobbyist parts and use a lot of those. (note: I haven’t checked yet)

          1. Exactly, you really need to just start with the package layouts and then you can create 1000s of libraries really fast. I am sure if this is well received, the manufacturers of the parts are going to have to provide Digikey with the libraries or they risk not showing up as a BOM match. Digikey can refuse to stock a new part until the mfg provides the libraries. No big deal for the manufacturer to do this once for a part that will sell millions of units.

        2. How many of the 7 half million are components like resistors with a standard footprint? imho they should focus on the footprints before schematic components. A wonkey schematic component is surviveable, a wonky footprint means another PCB revision. And generating schematic components is pretty easy, i’ve written apps that do it. ATleast if you don’t mind rectangle with pins as components in your schematic.

          And remember even the longest journey starts with a single step. You can’t expect Digikey to be able to release a library with they entire stock at once. Hopefully they steadily keep expanding the library. And i doubt they will ever have their complete stock done, ever look how many new component they have and how many are dropped each week? I a dream world i’d have plugins directly connected with digikeys back end doing all kinds of fun stuff. Think one button obsolences checks, in stock /lead time checks, one button “load the BOM into my shopping card” etc.

          What I hope is that this is another push in the right direction to get KiCAD the critically user-base it needs to become the default in hobby electronics. And dethrone Eagle.

    2. Yes, they have 7.5million parts, but over 800,000 are resistors, 900,000 are capacitors, and how many other components that don’t require footprints such as cable assemblies and free-hanging connectors, and single board computers, etc.

      So many of the parts Digi-key carries are popcorn parts that do not need to be put into a library. From what I can tell, the 1000 atomic parts that have been released have footprints that could be shared or used with 100,000+ parts.

    3. Do you really need or even want a separate footprint for every single component? Do you like to bend the leads differently on a 10k through hole resistor than you do a 100k one with the same form factor? I can’t even imagine how you might vary the footprint of two smd components with the same package style/size.

      I bet less than 100 footprints probably cover 90% of any component store’s inventory. And for those ones… why bother… the stock footprints that come with KiCad should do just fine! It’s only the oddballs that really need a footprint. I’m sure they have well over 1000 of those but not so many that 1000 isn’t a nice start!

      1. Maybe so. But as I said before, Mouser distributed a library with 99,000+ components and it was woefully inadequate. Maybe Digi-Key has done a better job of selecting components. But when you think of all the different microcontrollers with different pinouts, all the TTL ICs with different pinouts, switches and buttons with different footprints, 1,000 starts looking like a small number.

        Digi-Key lists 72,000 microcontrollers from 27 different manufacturers. uCs from different manufacturers will never share pinouts, and even within one manufacturer, they’ll offer uCs in dozens or even a hundred different packages. The numbers get big fast.

  13. I love KiCad. The Digi-Key library sounds perfect for my use case, and will supplant a personal project I’ve been working on to build a library with all of my commonly used components. But I have one issue working with libraries that I haven’t found a good solution to yet… wondering if anyone has.

    I’m in a situation where sometimes I’m working on Windows, sometimes on Linux, and sometimes still on Mac. The problem I have is that when I add a library such as this one, it stores it with an absolute path. So, when I repo a project and open it on a different machine, it can’t find the libraries, because they’re stored in a different location. For Linux and Mac, I could set up the same absolute path (e.g. /kicad/lib/), but since Windows doesn’t get that hierarchy structure, it breaks there. I could install private libraries within KiCad’s library directory ($KISYSMOD/../library/), but doing so feels to be bad practice. I’d love to be able to use ~, as that would solve the problem entirely (put libraries on all machines in the equivalent of ~/.local/lib/kicad/ for example).

    Does anyone else have this need, and if so, how have you addressed it?

    1. I’ve run into this too. The bottom line is, library management stinks and, AFAIK, stinks on every CAD package.

      What bugs me is that KiCad has a library for (as an example) Atmel. What happens when you need to create your own Atmel component? You can’t put it in the Atmel library, because it will be overwritten when that library is upgraded. So you have to put it somewhere else, and now it’s in a non-standard location, your Atmel components are no longer all together and you don’t know where to find them, and when the official Atmel library gets updated, you’ll have duplicate components.

      What’s needed is a database system, preferably in the cloud but also locally hostable, that’s searchable by component, functionality, footprint, manufacturer, etc. File-based component libraries are just a mess.

      1. For the non-standard location, I’ve found that typing in search keywords when adding a component is very helpful. I think I intend on using only the standard libraries, this Digi-Key specific one, and one of my own if what I need isn’t anywhere else. That at least reduces the number of places I have to look for what I need when I search.

        I’ve actually gotten myself wholly distracted at work, and have been doing some research on this. I was able to find a helpful post that I’ve been toying with, and it seems to work. The disadvantage is that the file you have to edit is not well documented, from what I’ve been able to find. But it makes a world of difference to discover that the .pro file is not in a binary format!

        So here’s what I’ve just done, and was able to test on the Mac I’m working on right now:
        Change the LibDir variable (which holds the custom search path for the project) to the standard syntax using ~ for a home directory. Multiple directories for the search path are separated with a semi-colon. Then add LibName## variables with just the name of the library. For example, I just added LibName31=dk_Embedded-Microcontrollers to use that library from the Digi-Key set. When you add the library from within KiCad, it adds that line with the full path. As far as I can tell, that’s the only thing you can do from within KiCad right now. But editing the .pro file, I can remove the path, leaving just the library name, and as long as that library is found within the search directories in LibDir, it finds it with no issue. If you have a library name conflict, the ## in LibName## determines the search order, so moving a library to the front either needs to be done in KiCad, or with a lot of manual changes if editing the .pro file. I’ll set up my home machines (Windows and Linux) similarly when I get home and see if those changes make it easier to use the same file on multiple machines.

        Hopefully there’s already some work going on in KiCad development to make this process easier. I don’t mind manually editing text files, but some documentation on what you can and can’t do in the .pro file would be *very* nice to have.

        1. For the record, the windows version will not expand the ~ to your home directory. You can, however, use %USERPROFILE%. Using this line in the .pro file:

          LibDir=~/.local/lib/kicad;%USERPROFILE%/.local/lib/kicad

          All you have to do then is put all the .lib files into that directory on any machine, and you can reference them in the LibName## list by name alone, making the file completely portable between platforms.

          A couple things of note in my experimenting over the past few days: KiCad does not do a deep search, so the .lib files have to be in the directory you specify in the .pro file. I think that would be a good thing for the devs to change, so one can use multiple library sources. Also, I have no clue how much of this changes in the upcoming v5.0.

  14. If we are lucky all of these different standards willencourage the manufacturers to get together and come up with an industry standard method of creating part libraries and then the CAD manufacturers will be forced to be able to import that format. That would be best for everyone and avoid all the duplication of work and allow you to move easily between the CAD packages as necessary. It would also make it easy for customers to shotgun those BOMs out to multiple suppliers rapidly. I can even envision a service to shop your BOM for x quantity out to multiple suppliers and optimize based on price and term while trying to limit the number of suppliers you need.

Leave a Reply to DougCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.