Idea: A "Personal Library" Exchange Area?

We all create our own symbol and footprint libraries to meet the demands of our designs.
But there’s so much duplicate work in there, that a common exchange might be a good thing.

What so you think about sharing your libraries?

  • Yep, I’ll share
  • No thanks

0 voters

The official library does share others work already.:wink:

It also comes back to the same old story… who’s library can you trust to be correct?

And do other libraries might your own standards? Lol

My biggest peeve is how pin 1 is indicated and I heavily disagree with some of the standard kicad library on it. Almost seems like a US vs EU thing. Sooo I have my own footprints sometimes just for that.

Tis the joy of cad.

In my opinion, availability of others’ libraries makes perfectly good sense. I have posted my libraries previously. If you like my libraries, you can use them, and if you don’t like them then don’t use them. I would imagine that if you want to use other’s libraries you would find those KiCad users whose stuff you like and maybe tend to share with them. As for me, I am sure that my methods are somewhat “in left field” with fat corner pads and ignoring courtyards and some other conventions. I am pretty much interested in only hand assembly and hand soldering and my libraries are (dis)oriented accordingly.

The only thing is (well OK there are two things)

  1. I do think that my libraries are very personalized: I use smaller fonts, shorter pins on the schematic symbols, no circles around my transistors, many ways in which my symbols and footprints might not be what other KiCadians want. I do not care about 3d.

  2. It really is pretty quick and easy to make your own.

True. So you could just use those, right? The truth is, that the standard libraries are NOT very good, with the exception of “Device” and the simulation sources. The rest is one big +120 dB ball of noise. That’s one reason why people make personal libraries.

Absolutely right. But if it’s implemented as a simple Wiki file list (this already limits the contributor list), the quality issue could be kept under control.

It’s easy to make a symbol. Not necessarily a complete library.

But anyway, forget the idea. From your comments and the votes it won’t fly. I’ll leave it there.

Cheers.

The plugin library category went bad pretty fast because people wanted to include their stuff and then didn’t stick around. This would happen to the libraries times 10. People would start complaining almost immediately about different contributions pretty damned quickly and wouldn’t want to hear that WE don’t maintain them because they are on this site.

In all honesty I don’t think you realize what a nightmare this could become to maintain. Disclaimers wouldn’t mean much.

I’m sure you’re right, I have no experience here.
Anyway, I’ve killed the poll, and this thread can die with it.
It was just an idea.

The “personal library exchange area” exists, it’s called Github :slight_smile:

1 Like

I like the idea of sharing libraries - with all the caveats included of course. I remember seeing user (gonna have to dig through my memory here) Joansparky’s footprints (and 3d models), which inspired me to create my own libraries.

For me, I would welcome the OP’s idea, if only to share ideas and practices when it comes to library design, management, drawing styles, etc. etc.

It’s a natural idea and not a bad one, but understanding the issue requires knowing the 1000 former discussions about this. I wish this would work, but even without having been tried such a collaborative repository myself I understand too well that almost any attempt without a centralized management and dedicated personnel will fall apart quickly.

To add something constructive I throw out an idea about footprints. If I find a ready made footprint somewhere I usually need or want to modify it somehow. Not necessarily to make it correct for a working board, but because it’s better to make it follow my “standards” and needs. If we had a repository, it should still need to have some kind of quality control and standards, and that makes things difficult. As with the official library, people who basically want to share their footprints pretty quickly notice that to comply with the requirements (KLC) they need to virtually remake the footprint.

This would be much easier if the footprints would be minimal. The critical part is the pads. They are described as “suggestions” in the datasheets. Apart from that, the only objective information which can be found out without interpretation and variance between human beings is the component outline which in KiCad is drawn in the Fab layer. I suggest that if there would be a repository with any rules, the rules should be simple: the footprint has only the pads (and holes) as suggested by the datasheet, and the simple component outline without extra markings in the Fab layer, and nothing else. That way anyone who uses the repository know that the footprint must be modified but gives objective information about the component and nothing “customized”.

A similar idea about symbols would be to have only pins with numbers and names, and nothing else. The users wouldn’t need to type that information themselves but would need to customize everything else, including units, graphic shape and pin orientations. This is of course reasonable only for complex components like ICs.

FreeCAD has also tried such a thing. It’s a library of several Gigabytes, and it’s such a mess that I deleted it again quite quickly after installing. Libraries only have value if they are above a certain level of organization and quality. There was a recent thread about this on this forum (About a month ago) and people mostly agreed with that statement

There are already some libraries in the PCM, and “AKL” is the biggest, and I have not even installed it yet. Have you tried it?

I can see some merit in dumping the whole backlog of symbols and footprints of the “official” KiCad library maintainers into a sort of melee library. Not intended to be used as such, but to give it some more exposure and to make it easier for people to fix problems with the parts in those libraries until they conform to the KLC and can be moved to the official libraries. Preferably, each of those parts would then also have some document that describes it’s state. This info is already on gitlab. having a http link in each part to the issue / merge request may be a good idea.

Another way is to have some sort of voting or checklist thing built into each library part. For example if you’ve checked the pinout of a schematic symbol, you store that info in the symbol, and when 3 to 5 people have done that, It can be assumed the pinout is correct, and if other parts have also collected enough verification data, it can be moved from the melee library to the official library. The goal is to lower the threshold for people to help with improving KiCad’s default libraries.

1 Like

Its the same with company stock lists. If a fellow designer needs a 100nF cap, there are already 24 diffrent models with 100nF in the stock list. If you dont know the history and reason of each model, you wont find the correct default one for your design. If the fellow is finished with his new design, you will find 25 caps with 100nF in the list.

For symbols, my personal preference is the Elektuur style lib. I dont use it always and for footprints I am searching first the build in libs and then several manufacturers what offer ultralibrarian or others

1 Like

I once wanted to buy some generic 2k2 THT resistors from Mouser. I could not get the selection down below some 200 variants in a sensible way. When the resistors arrived they turned out to be slightly bigger then “normal” and have very thin leads. They are usable, but I did not like it much.

Not a bad idea at all. Just personal experience with the plugin category makes me think it won’t work.

This may also decrease the workload on the librarians.

That is indeed also a part of the intention behind the idea.

  • Getting more vetted parts into KiCad’s libraries
  • Lowering the workload of Librarians.
  • Lowering the threshold to contribute to the libraries.
  • Getting more people involved because of the lower threshold.
  • Getting more people involved when they see the melee library and improve parts for their own use.

I am not capable of setting up such a system. It’s also just a random Idea (I have 10 of those each day) and I have not thought deep about details of an implementation for it.

I’m guessing that there are quite a lot of people who want to make small contributions to KiCad’s libraries, but for who working with GIT and making actual merge requests is too much to ask. Creating a Gitlab account is quite easy, and if parts in a melee library can be combined with posts for those parts on Gitlab, the need for much Git knowledge is removed.

Personally, I also regret that the library seems one of the most areas of Kicad what requires improvements. The reason seems neither the lack of contributors nor the amount of data what is in the library. We may see the library from data view or from program/functionality view.

E.g. there are other Ecad what store a schematic symbol 4 times in each quadrant rotation view. As Kicad rotates the symbol in schematic editor runtime it is only a quarter to maintain the library. Therefore we may discuss how perfect the automatic rotations are as they never reach the manual rotated quality with all perfect text alignments.

For the moment I did not track the efforts @craftyjon for the database approach and what it is already doing other than moving the existing sym and pretty files in a database instead the file system. With or without database I think the program view functionlities are the biggest chance of improvements for Kicads library. This is not obvious for everybody as the library already works like it is. In reality, it is possible to combine many of the above given examples what shrinks library contents to a fraction and make use more flexible.

There is already more than enough library content and people who contribute to the content but only a few contribute functional improvements for flexible use of existing lib content

Peronally I don’t want any library installed on my computer apart from my personal. That includes the KiCad library. This way I have one clean library that’s easy to search.

However, sometimes it’s nice not having to make my own part when I need a new part in my personal library. In this case I sometimes look for the part in the KiCad library and on various sources online.

The libraries I know of are:
ComponentSearchEngine
snapeda
ultralibrarian
digikey

Having a bloated user-sharing-library installed on my pc is nothing I would like. But none of the sources above let’s users share their parts (I think).

If anyone would create and maintain such a webpage, with the ability for users to vote and comment on the individual parts, then I would happily use it sporadically.

I wouldn’t share my own library since it’s atomic. It uses our internal part numbers and is not of much use for anyone not having our parts-database-system.

At least SnapEDA has user committed library items.