Where's my component?

I’m making a component (TL071 opamp) in the Library Editor & saving it using these steps (as per Getting Started guide):

  1. Save Current Component To New Library - save "myLib.lib in “library” folder

  2. Preferences - Component Libraries - add “library” in “User defined search path” and “myLib.lib” in “Component library files”

  3. Select Working Library - Select Library - “myLib” - OK

  4. Update current component in current library

  5. Save current library to disk

Phew! Clunky or what? So, then I open Eeschema & go Preferences - Component Libraries - add path in “User defined search path” and file.lib in “Component library files”. Phew again!

I click “A” to place component, choose “myLib” and my custom component appears in the dialog box - cool!

But when I click to place it, I get the default TL071 from the built-in libraries, not my custom TL071 from “myLib” library!!??

What’s going on here & how do I fix it? It’s driving me nuts?! :tired_face:

Hehe…

KiCAD currently (it’s being worked on with the refurbishment of EEschema) omits symbols in successive libraries if they have the same name as a symbol in a library that’s already loaded.
So you got a ‘TL071’ in 2-3 libraries - the one in the first lib will be used.
To solve your problem either rearrange the order of libraries in the manager and bring your personal one up to the top (then the other symbols with same name will be omitted) or rename the symbol sufficiently that there is no other with it’s name.

1 Like

OK ok so I discovered that Kicad doesn’t like duplicate names - even across different libraries…and deviously refrains from warning me lol.

http://brianhoskins.uk/resolving-duplicate-part-name-problems-in-kicad/

EDIT: Thanks Joan_Sparky - yep I just found this out hehe…

1 Like

Yeah, just got up.
Wanted to include some link where we had this before, but my search foo this morning is a bit weak :wink:

There is a need for a checker at the library table level to detect duplicates. I am sure that accidentally picking up the wrong part causes many design and production errors.

1 Like

Something like sucking all library parts into a sqlite database. This is a powerful tool for finding non-unique values
eg SELECT id, COUNT(id) FROM table1 GROUP BY id HAVING COUNT(id)>1

You sure that’s needed after they’re done with the new sweet framework?

No idea about sweet symbols, but the same problem still exists with footprints in the pretty structure

No, afaik in the pretty structure you can have 2 footprints or more with the same name/identifier in different libs (folders) and it will pick the one you selected, not the first one that appears in some arbitrary list that is being created at startup.

Yes, with pretty footprints the name of the footprint in the board is libraryname:footprintname.

So same footprintname can be used in different libraries and pcbnew or cvpcb don’t select the first instance of footprintname they find.

1 Like

Better then, but still a warning that you had the same file name in multiple .pretty directories would be useful as it often happens when I have the wrong current library when I save