KiCad needs a more liberal/open library

No, but a visit to the manufacturer’s web site is. A project should include resources for this kind of thing, otherwise you’re working half-blind and subsequently open to liability should something go wrong in the field.

My workflow FYR: Dealt with the standard Kicad libraries but came to the conclusion it is unmanagable. Any library, Kicad, own made, or 3rd party is regarded just for reference. Any footprint, symbol or 3D models gets copied to a - controlled - global library with own defined naming rule, so this is very liberal :slight_smile: All filenames are version controlled and cannot not be modified unnoticed. So, older designs may use older versions and those under design use the latest version. Any change results in creating a newer file/version. This creates duplicates but there is always one master and the latest version that should be used. Released schematic/gerbers should not change when reloaded over time. Datasheets are linked to the partnumbers in the BOM, not the schematic symbol/footprint. There can be multiple 3D models and footprints for one symbol, but the ones that are allowed to be used in new designs should be agreed between the PCB designers who share the footprints. There must be consistency and rules among team members. To do this right, it will require addtional 3rd party or home grown management software, out of scope from Kicad.

1 Like

Are people really still whining about the supplied libraries? Still wanting to be spoonfed?
All Kicad should be supplying is a basic set of symbols, and a set of common standard footprints.
For everything else - make it yourself. Its pretty simple.
I’m making new symbols and footprints all the time for Altium, and we have amassed a vast library as a result. To our specs. I don’t expect Altium to supply anything at all - and its an expensive cad package. (Hell - I’m just happy if it doesn’t crash).

9 Likes

I think TwoSpoons is trying to explain that making symbols and footprints is part of the process in using Electronic CAD programs.

Even a basic library makes life pretty easy for users of Electronic CAD programs compared with
Mechanical CADs or Architectural CADs etc etc.

5 Likes

Well, considering also the lack in human resources and time required, your help would mean something. This is only in case you actually want to help though.

No designer blindly accepts without checking everything. Hence I build my own libraries I really don’t see what the fuss is. For symbols with multiple footprints I add different part numbers. .

2 Likes

As JMK has said, I’m saying symbol/footprint/part creation is just part of PCB design, and even the big commercial players only provide basic libraries to get you started. Everybody has their own way of doing things - engineering is as much an art as it is a science - so building giant public part libraries is something of an exercise in futility. No matter what you do, someone will be complaining about it.

8 Likes

What exactly happens once you click onto a link to the manufacturers website? oh right, you end up on the manufacturers website :scream:

you can continue trying cherry-picking to defend your implausible point here, but I am done with this discussion…

There have been a few times where I’ve changed the pre-selected footprint for a more appropriate one (larger/thinner pads, through hole to SM, …), so I prefer to select the footprint.

Just my 2 cents.

The process that slows me down is when I have to construct my own footprint and I try and conform to KiCad’s rules. For instance, why aren’t the preferred line widths for silk/ courtyard/etc. the default values in the footprint designer?

I am late to this thread but I wanted to say that I appreciate the quality of the official symbol and footprint libraries. On the other hand, I like a system that facilitates “just in time” component creations. Lately, I have been using SnapEDA to get Kicad symbols and footprints. It is great that it supports Kicad.

Usually I modify those machine generated symbols to have better pin grouping, etc., and then I save them to my local library.

Symbols and footprints achieve the highest readiness level only after a board has been built and tested with them. I would like to share the symbols and footprints that I have tested this way but sounds like an involved process. Also, since they are derived from SnapEDA output I don’t know if I can share them openly.

3 Likes

I concur. I’m very happy that someone is doing library work so that there is a “standard” to look at and a chunk of useful parts for beginners. Not everybody is a KiCAD expert, and these are necessary.

However, if a project is going out commercially, all the parts are in a local library. They may be copied directly from the KiCAD library and hand checked, but it is in a local library. There is a huge advantage to having parts in a library that you KNOW have gone onto a product and worked.

This is nothing new. I have done this for every EDA software I have ever used.

6 Likes

IIRC that was the case in V5. The default values in V6 should correspond to the ones required by KLC. Just the symbol default line width is set to 0 instead to 0.254mm. I suspect there is more going on with line widths in schematics. (issue #10022 for example)

2 Likes

I don’t think V6 behaviour will change now, but it’s a good time to check V6.99 and raise an issue if the defaults are wrong

1 Like

It being done worse elsewhere does not mean KiCad needs to strive to lower itself to everyone needing to make their own libraries. Those who wish to do so can continue to do so.

The fact is, KiCad has a central, open library which they control. Everyone knows they can make their own, and/or choose to share this library somewhere. It will remain obscure. Plus, I’m not suggesting zero standards. There can still be a level of quality in the “community” KiCad library, that is less onerous then that of the “official” library perhaps. It could be that much more of the approval is done via automation, with less scrutiny to the non-critical aspects such as silkscreen.

I suppose my original title might have been better as a more liberal/open footprint library. Symbols are not quite as onerous I find.

I agree that being able to design your own footprints is an essential part in every PCB design program. The quality, convenience and uniformity of the schematic symbol and footprint editors was a mayor consideration for me to choose for KiCad (which is now some 5+ years ago).

I am a bit divided about TwoSpoon’s post though. (and did not like it).
There will always be complainers, sometimes they have a valid argument, but ofthen they do not deserve much more than to be ignored.

Furthermore, there seems to be consensus in this thread that a big library of random parts (schematic symbols or footprints) is of not much value, but a reliable library of high quality footprints are. I’m sort of hoping that several (relatively big) companies who have full time employees to create and organize such libraries for use in the company itself will be willing to donate those libraries to KiCad, in the philosophy of the open source ideas and as alternative for paying $$$ for some commercial PCB program. From what I gather though, chance for this is relatively slim, because those company libraries are often valued too much as “intellectual property” and to limit access to them for direct competitors.
But whatever, good libraries matter.

For the existing backlog and KLC issues and workload of the current KiCad library maintainers. I think it may be a good idea to start by dumping the whole backlog into a library, and then add it to the PCM. It should have a notice that these are “preliminary”, and with some way (git) to change and improve them. When these can be added by the PCM it increases their discoverability and the amount of people viewing, using and reviewing them. And then, at some time, they can be flagged for a review by “official” library maintainers, and when found correct can be moved to the “official” KiCad libraries…

1 Like

I agree wholeheartedly, and this is the root issue. The backlog is growing, not shrinking. With a finite amount of resources (volunteers time), this problem is not going away.

I tried to pull meaningful data from the pull requests but couldn’t. There are some passing that have no comments but are not merged and are old, there are others failing but have activity. Full disclosure - mine is the former. Perhaps there is a triage process for priority I am unaware of.

I agree that growing backlog of the merge requests is a problem. But the way to solve it is not lowering standards or reducing requirements.
It should be addressed by making reviewers jobs easier through automation or other means + recruiting more reviewers.
Is there a discussion somewhere or maybe already a list of things a developer can help with? I may put some spare time into coding it but I don’t have enough time to study the whole process and figure out the bottlenecks.

7 Likes

I have no problem with sharing libraries I own, I never said that. I do not own the libraries of the companies I work for, or the parts I created for their libraries - thats their IP, not mine, which they paid me to produce as part of my daily work.
I take issue with the OP’s statement that the KLC is too strict. It needs to be strict, otherwise you end up with an adhocrasy (word made up by a colleague, based on the term ‘ad hoc’), which rapidly becomes an unusable mess.
I also take issue with people complaining that the library doesn’t contain the part they want to use - i.e. wanting to be spoonfed. Part creation is simple, and a fundamental part of PCB design.
The other problem with gigantic libraries is they end up chock full of things most users will never need, and as a result it becomes increasingly difficult to maintain, and to find the parts you do want - unless there is a really well thought out indexing/ searching/ filtering system.
All of which puts a lot of load of those few kind souls doing the vetting and maintenance of the Kicad library (thankyou, BTW).

6 Likes

An UNTRUSTWORTY adhocrasy.
So every time anyone delves into a Kicad Library EVERYTHING needs to be checked.
If a problem is found, a library bug report needs to be made. Some one is then needed to service the problems. Meantime, how many complaints “my board is useless because…” will occur before the problems are sorted.

Professional, seasoned users probably won’t fall into the above trap, but they will curse the untrustworthy library as a waste of time. Amateurs and newbees (to electronics) will fall straight into this trap.
Kicad, being FOS, attracts a large number of the latter group, and, unfortunately, with both groups complaining, will rapidly gain a poor name for itself.

Absolutely agree.

For many, creating parts seems to be too hard, too much trouble, or too traumatic to be embarked upon.

4 Likes

I’d start here

Maybe you could wrap the footprint and/or symbol test code that runs on each merge request as a standalone tool and wrap it with pyinstaller for windows user so that there is a GUI with wihich potential contributors could test their symbols/footprints before opening merge request. Something like addon metadata tools/packager.py

But @chschlue should be the one with more knowledge where librarians need code skills most.