Part finder badly needed

First I would like to apologize for the rest of this rather frustrated topic.
Here’s the situation: I’ve set up a schema in Fritzing, but I would like to transfer it to a more sophisticated package like Kicad (I do like the option that footprints can freely be assigned to components).

So I am totally new to Kicad (actually it is maybe my third try at it), but please: I simply want to place a component on a schema. I don’t know which library it could possibly be in, and frankly I don’t care. You go choose between Microcontrollers/Microchip 1/Microchip 3/PIC%^$% and the rest. I expect a searchbox, put in a name or reference and get some options. I can totally understand why so many people wind up designing their parts for Kicad, they just can not find to good stuff others already put a lot of work into. Surely, this is not what ‘shareware’ is about.
Can somebody please build a good partfinder? As I understand the rest of the software is pretty good, but I haven’t yet found the most basic components (Molex connectors and such) for my design. The worst thing is, that they must definitely be somewhere. (And I refuse to Google for every stupid component I need within a piece of software!)

Again, sorry. Maybe I just missed something as a newby to Kicad. But I’ve been into computers for years and this library/part thing really needs some re-thinking.


Yes this could be improved greatly. It’s not that far off. The part search within Eeschema was improved significantly lately.

Really I think the categorization is a big problem (like you said). You can send pull-requests for libaries through github

But renaming all those repos and moving stuff around is another matter.

Shareware means something else than you think by the way. KiCad is free and open-source software.

Yeah, I found my MCP23017 GPIO extender in the lib “Integrati per trasmissione” by some Italian guy, you go figure. Took me about half an hour…
You are absolutely right about the shareware comment, I knew when I wrote it. What I actually mean with it is the following:
In FOSS we share, and we build upon the creations of others. We don’t re-invent the wheel over and over again. That’s the strength, that is what brings progress and innovation. For instance, in building one Fritzing based board I have designed about five components from scratch, They’re not perfect, but for others they’re easily shared to their Fritzing library. Parts contain tags, so if you run “Microchip” in the findbar you will find any component that is related to Microchip. I don’t care where it resides on my harddrive. You specify “LDO” - guess what…
In Kicad, when looking for a MCP23017, I am supposed to enter the specific library that component resides in. I mean, come guys, ever heard about grep? Put some tags in the components, put the components in a search-tree, grep for tags. You can make it as wild as you want. If I am going to Google for half an hour for each component in the schema, then that’s a major put-off for the software - as good as it might be otherwise.

And let me please add this: I would normally have looked for functionality and turned software down, go on with my life. Please don’t take all this as a rand. I’ve seen great reviews on Kicad - putting it atop EagleCad and thelike - so I definitely don’t mean to hurt anyone working on a project like this. I’ve taken the time to sign up an account to give this feedback - because I’m disappointed. If you are able to put together something like Kicad, sure you can do better on the library/part stuff. It is essential!
(And I am willing to help if can.)

Here’s some extra thought on that:
Suppose parts would have a descriptive header. The header would be distinctive on new parts, so older parts would not have to be redesigned. The older parts still hold the ‘name’ information. Anyway, new parts would have various tags in their headers, some standard, some not. Tags are user/designer-assignable. Look at Fritzing for an example on this, I feel they’ve got this part covered fairly well.
Since all components would be in a search tree (be it in libraries or not), the (Kicad-)searchengine would be able to find parts based on grep by tags. You want a GPIO, you get GPIO. All of them, in your search tree. You NXP… and so on.
You could also extend the header to relate to default landing patterns. You want to differentiate, go ahead. But suppose you could set your project to ‘Weldable SMD’, the preferred landing pattern could be SOIC - if defined. Anyway, the basics are there. Next step, please. Go knock out the competition.

I think you are right and have some good ideas. Ideas are not really the problem though, developer time is. Anyway, these types of discussions are best brought up on the kicad-dev mailing list.

1 Like

Dear Kasbah, I’ve joined up for the dev team, at least to shed some ideas ;-).
Meanwhile I’ve been working my way into Kicad to get my schematic in, and I’ve come to appreciate the application quite some more!
Still, the libraries nag me… :smile:

The good thing is that the component editor is pretty simple to use, easier than f.i. Fritzing - which needs outside svg apps. If only the browser (Add component) would show ALL the libraries within the searchpad, instead of those manually added, that would already be enough.
Anyway, I will take some time to add some ideas to the mailinglist.

Regards, and thanks for your hint.

Yes, I also find searching through the libraries a frustrating experience.
Even common items are often hard to find.

What I’d really like to see is the ability to use ‘Regular Expressions’ in searching.
If there were an intelligent search engine that enabled the use of Regular Expressions, finding a part would be a breeze.


Hey @Roger_Sanders, AFAIK you can already do this, unless I am misreading your question. Here’s an example of using a regex search for some library parts:


Hi, Oliver!

Thank’s for the ‘heads-up’ on that.
I wasn’t aware that KiCAD already had this.
If I had known, it would haved saved me a lot of searching through the


I see also that 74*G sort of works too.
KiCad really should add some hints to the Filter line Entry, eg a simple suffix line with some examples, would be enough for most uses to then find this hidden feature.

1 Like

Good idea @PCB_Wiz some instructions (even a little “?” help button) would be great.