Digi-Key open sources alpha version of an “atomic” parts library  - Page 1
Forum section: electronics / general

author: kasbah
author_rank: Contributor
timestamp: November 14, 2017, 10:04:32 pm
content: Quotehttps://github.com/digikey/digikey-kicad-library

author: homebrew
author_rank: Frequent Contributor
timestamp: November 14, 2017, 10:51:43 pm
content: Well it certainly looks nice!But to be honest I don't see much use in such a library if done as a community effort.1) Even the KiCAD developers themselves are not able to MAINTAIN such a library. And this is a massive community ...2) You have a lot of third party information in your library. I.e. all the URLs etc. What if they change the structure of their page? Practically most of the urls will resolve in 404s in the years to come if not properly maintained.3) Footprints: Why would you know which pads I need? Do I want to do hand soldering? reflow? wave? What would you do with more complex footprints requiring special shapes in the solder-mask stencil (again depending on the exact personal process and materials used)?4) What if I prefer Farnell, Mouser or RS-Online?The approach is good but I think that in the end people have to do it themselves for their own purposes - with all the data held locally (i.e. local copies of all data sheets etc).

author: kasbah
author_rank: Contributor
timestamp: November 15, 2017, 01:17:56 am
content: QuoteWell looks like someone from Digi-Key is being paid to at least spendsometime on it.QuoteThe links are secondary though. The important bit is the linking of schematic symbols, footprints and manufacturer and retailer part numbers. Also, at least with it being public and on GitHub there's a chance someone else will notice the broken links first and fix them before you get to them.Quote"it is One Solution, not The Solution". I see it being especially useful for rapid development. Most of the time you can get away with one footprint for different soldering techniques and if you are just making a few it's definitely less of an issue.QuoteFork it and add the part numbers, the license allows you to do that and more. The MPNs are all in there and you could use something like my ownbrowser extensionto fill out the parts from that. I am also seriously toying with the idea of maintaining a fork with Farnell parts at least.

author: homebrew
author_rank: Frequent Contributor
timestamp: November 15, 2017, 07:20:50 am
content: So yes, you are probably right - having something is better than having nothing.But anyway - digikey has what ... like over a million of parts? So you can only care for a tiny fraction of the actual number of components available. And even then, who tracks all their status (i.e. active vs. discontinued)?In the end what would be needed, would be a real part database. Management of library and footprint would even be secondary. The primary concern would be management of your part inventory combined with a solid interface to your suppliers. If done in an automated way also their stock and prices could be integrated via an API - so could be the procurement process.But such a system is nowhere in sight for kicad :-(If rapid prototyping is the desired outcome than I can happily live with KiCads own library. Hack a part here and there or just relable existing ones. For prototyping I probably don't care for specific types whatsoever. If I need some voltage regulator, I simply use an 7805 - don't care about the manufacturer or it's specific performance. I can just relabel the generic one provided in the library.Then for ordering I would just do it manually ...

author: bombledmonk
author_rank: Regular Contributor
timestamp: November 16, 2017, 08:54:52 pm
content: Quote from: homebrew on November 15, 2017, 07:20:50 amWithout getting into the silliness of CT, TR, and DKR, there's approximately 1,723,121 normally stocking DKPNs. The intention is not to offer a complete library, just a library with a cross-section of useful parts that would benefit plenty of people. There's no way to appease everyone (or probably even the majority), but if we can settle on something that might satisfy 50% of people playing with it that seems helpful. This is especially true with electro-mechanical components which tend to have less standardized footprints.Part status, links, and other meta data are updated every time the library is updated so if there's support for maintaining the library it's not a burden. That brings up a good point, it's probably a good idea to add Part Status as a field for the symbols.Interesting side note, from starting this project to launch time, more than a dozen parts went Obsolete or NRND.

author: hermit
author_rank: Frequent Contributor
timestamp: November 16, 2017, 10:34:14 pm
content: Quote from: bombledmonk on November 16, 2017, 08:54:52 pmYou may consider leaving these in the library since some older folks, cough cough, have a few parts laying around that's as old as themselves. Mainly a hobbyist thing for sure though but disk space is relatively cheap now days.

author: kasbah
author_rank: Contributor
timestamp: November 19, 2017, 01:10:31 pm
content: Quote from: bombledmonk on November 16, 2017, 08:54:52 pmHave you though about setting a goal to include all parts that are part of theCommon Parts Library (CPL)? Once they go obsolete or NRND they should really be removed from the CPL as well (and pull-requests can be sent to theGitHub repo). It doesn't solve the problem completely but at least it makes it the problem of more people i.e. everyone that cares about the CPL rather than everyone that cares about the Digi-Key KiCad library. SnapEDA also already released a lot ofKiCad foorprints for CPL parts.

author: bombledmonk
author_rank: Regular Contributor
timestamp: November 20, 2017, 04:47:57 pm
content: Quote from: kasbah on November 19, 2017, 01:10:31 pmThat's a good idea. Plenty of CPL parts should already be in there (minus passives for now), but it's been a while since we went through that list. We'll mull that one over and see what makes sense.Quote from: hermit on November 16, 2017, 10:34:14 pmI doubt we'll pull parts out of the library, at least not without a major revision change. Space is cheap these days so unless there's performance issues in KiCad with loading libs, there's probably not a good reason to completely remove them. Would it make sense to move obsolete stuff to a secondary library, folder or taxonomy? Ideas are quite welcome.

author: whalphen
author_rank: Regular Contributor
timestamp: January 27, 2018, 02:32:16 am
content: I've had a number of bad experiences using other people's footprints. Wrong pinout, pin holes too small, pads too small, not exactly the same part, etc. I found that I'm much better off creating my own. After a couple years of doing my own, I now have a nice library of the parts I typically use, with dimensions that work well for me. And -- best of all -- I can trust them. It really doesn't take much effort to create a footprint, especially after you've done it a few times. I only use someone else's footprint if I've checked it closely first -- and that takes about the same amount of time as creating my own.

author: james_s
author_rank: Super Contributor
timestamp: January 27, 2018, 07:35:35 am
content: I have had similar experiences, although something from Digikey I'd trust more than some random library found online.The libraries that come with most EDAs are cluttered with hundreds of parts I'll never use. I generally ignore them all and create my own for most stuff.

author: bombledmonk
author_rank: Regular Contributor
timestamp: January 30, 2018, 05:29:28 pm
content: Quote from: james_s on January 27, 2018, 07:35:35 amThat's certainly the hope. We're still working through some bugs in the libs (hence the alpha) so I wouldn't quite put a stamp of trust on it yet, but we'd definitely like to have some level of quality that people can put faith in. The key, from my point of view, is that we aren't trying to haveeverythingwhich would be quite hard to manage. We are just trying to have a reasonable subset of parts people might actually want to use. If we can make a quarter of the people who stumble across the library happy to some degree, I think that's still a win.

author: rrinker
author_rank: Super Contributor
timestamp: January 30, 2018, 08:33:34 pm
content: It's not so much that the shipping library should be super concise, what is a 'junk' part I'll never use is the primary part in someone else's design. It just needs to be relatively painless to gather the stuff you need into your own custom library. It sounds like v5 is going a long way to making this happen.

author: apelly
author_rank: Unknown
timestamp: January 31, 2018, 01:27:49 am
content: I think this is quite generous, not too hard to provide, and fairly forward thinking.I'd certainly be happy to find KiCAD footprints & symbols next to things I search on digikey. All the better if there's a link back from the schematic when it comes to order time. And manufacturers part number.I'd prefer to import them one at a time as needed than grab the whole repo though.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: January 31, 2018, 10:11:59 am
content: Creating a standardised, vendor neutral dataset is a rather huge task, I can't see what the commercial incentive would be. I'm also wary of the "creating yet another standard" problem. Arguably, creating KiCad libraries is already a vendor neutral, open source data format.I have contributed data to the official KiCad libraries, mostly created with scripted generator tools (Python). I wrote a tool called symgen which generates symbols based on a simple text based part description, there are other tools which take a CSV or text file and convert to a symbol, and tools which take a JSON data file and create footprints. There are also parametric generators for 3d models using FreeCad.The biggest problem with all these tools is just getting the data into any readable form, when the vast majority of data is only published in PDFs. I have tried scraping PDFs but it does not really work. For the more complex devices such as MCU, FPGA, some manufacturers publish text/CSV files which can be parsed easily, or there are tools designed for software configuration which can also provide a text file for symbol creation.It doesn't matter so much that the data is not a standard form, scripts can do conversion quite easily. So what would be really useful as a first step is to get key parameters from the datasheet to be in a data file, perhaps XML. It seems like the source of that data should be manufacturers.

author: rrinker
author_rank: Super Contributor
timestamp: January 31, 2018, 08:07:19 pm
content: I will say, if Digi-Key had libraries that included every part in my project, I would just buy all my parts from them. Or whichever vendor offered such a thing. Now, this is for personal projects so while cost is a concern, the convenience and time saved would offset the savings I'd get from buying 20 chips from Mouser for 10 cents less than Digi-Key's price. EVENTUALLY I could get there myself, by editing other libraries and matching up the Digi-Key part number, but if all that work were already done for me, they'd definitely get my business.Now if a few million users ALSO hop on that train, it might be worthwhile for them to do it.

author: homebrew
author_rank: Frequent Contributor
timestamp: February 01, 2018, 08:20:54 pm
content: Quote from: rrinker on January 31, 2018, 08:07:19 pmah ... no!Ok - maybe the schematic symbol would be handy sometimes. But still then, I like to arrange the pins in a way that seem functional to me. How would you know how I would use my microcontroller? Maybe I want to space the XTAL_IN and XTAL_OUT pins so that the crystal symbol exactly fits between these pins and so on ... I really enjoy drawing schematics and doing PCB ARTWORK. Hence the name :-)With footprints it is a completely other story. Hand soldering or reflow? How thick is your stencil? 150um 100um? What is the minimum restring your board-house offers? Etc. etc.There are soooo many parameters to get right. And it is so easy to screw a design with a single faulty (i.e. inappropriate) footprint.So no - I'll do everything by myself. To reduce errors I often just copy-past the pinout and pad name information from the data sheets and the use scripts to transform the .csv into a symbol. Has worked perfectly for Eagle as well as KiCad.If you've done that even once, you'll see that it is worth the effort ...

author: rrinker
author_rank: Super Contributor
timestamp: February 02, 2018, 06:10:24 pm
content: Clearly I am too much of a noob at board design, but what would change with a component footprint? The data sheet offers me 4 or 5 options, that's all I can get. I understand the BOARD parameters change, quite a bit depending on what you are doing, but I can only get components in specific packages, with specific footprints, that the manufacturer offers. Either I'm missing a really basic bit of information here, or something.I've made a few custom parts in KiCad, where I want to integrate a module onto my board. Did that the old fashioned way, measured the board and all the pin spacings and drew it by hand in the footprint editor.

author: aandrew
author_rank: Frequent Contributor
timestamp: February 03, 2018, 05:34:30 pm
content: Quote from: homebrew on February 01, 2018, 08:20:54 pmThat is, of course, your prerogative. I do try to make my schematic symbols reasonable, but I'd be hard-pressed to recall a time where I'd spend the effort to take a functional but not "optimal" symbol and redo it. This is mostly "it works and doesn't completely break my workflow" but also because an IC used in one application may be preferably drawn one way but drawn another way for another application. Where does it end?QuoteWhat? You make your paste screen for some default, and when you send the gerbers off you tell them that these were the assumptions. The people making the boards already adjust things you'd never think of in order to make the boards easier to manufacture, and the stencil people can do the exact same thing if they know what your assumptions were. There's absolutely no need to have different footprints for different stencil thicknesses!There have been *very* few boards I've made out of the hundreds I've created where I had to give the PCB or assembly house such explicit instructions that their tweaks would have affected my design in negative ways.

author: james_s
author_rank: Super Contributor
timestamp: February 04, 2018, 04:00:13 am
content: Something that would be really nice is if 3D models were supplied for more parts. The 3D view is neat and would be handy for checking clearances but I've only rarely been motivated enough to create a 3D model of a new part I add to the library. It's just too much hassle vs the benefit.

author: langwadt
author_rank: Super Contributor
timestamp: February 04, 2018, 11:58:43 pm
content: Quote from: james_s on February 04, 2018, 04:00:13 amyou can get something by using a dummy 1x1x1 mm box as model and just scale to to the size of part

author: homebrew
author_rank: Frequent Contributor
timestamp: February 05, 2018, 08:19:04 am
content: Quote from: aandrew on February 03, 2018, 05:34:30 pmNo - certainly not. I don't have different footprints for different stencil thicknesses - simply because I just use one manufacturer. And it is solely about *my* process - when I have to assemble prototypes myself. Depending on the component, yes, the thickness matters. In worst case you have *twice* the past under a large thermal pad for example, which can be bad ... However, when knowing the thickness, you can still segment the cutout and control the amount of paste. Sometimes this is mentioned in the data sheets, sometimes not ...

author: Kalvin
author_rank: Super Contributor
timestamp: February 20, 2018, 01:59:57 pm
content: Fromhttp://www.eenewsembedded.com/news/digi-key-launches-common-parts-library-kicad-eda-tool:QuoteHere's a link to Digikey site:https://www.digikey.com/en/resources/design-tools/kicadHere's a link to Github:https://github.com/digikey/digikey-kicad-library

author: salfter
author_rank: Contributor
timestamp: March 11, 2018, 11:36:24 pm
content: Quote from: james_s on February 04, 2018, 04:00:13 amDigiKey already has models available for many of the parts I've needed. It takes a few minutes to download the .step file, run it through FreeCAD to convert it to .wrl, then attach it to the footprint and get the position and scale dialed in (scale is nearly always 0.3937, but position and rotation usually need to be set by trial and error). Colors aren't always accurate, but it's good enough to see how everything will fit together.If anybody at DigiKey is listening, I have a patch I can send that adds models to the parts I've used so far.

author: Bassman59
author_rank: Super Contributor
timestamp: March 12, 2018, 05:36:02 am
content: Quote from: salfter on March 11, 2018, 11:36:24 pmKicad now supports using STEP files directly.