KiCAD beginner: "Footprint library not found" - Page 1
Forum section: electronics / general

author: ebastler
author_rank: Super Contributor
timestamp: February 19, 2021, 10:13:03 am
content: My old Eagle 7.x is getting long in the tooth (and limited to 160*100mm² PCBs), and I don't want to be locked into AutoCAD's subscription. So I'm finally taking the plunge and learning KiCAD; trying to create a little test board to learn.Schematics entry went smoothly enough; I like the "mouse hover & keyboard shortcut" approach. I edited values and assigned footprints (where they were not preassigned), annotated the schematic, exported the netlist. But importing the netlist into PCBnew produced multiple "missing footprint" errors -- apparently for all the parts that had a footprint pre-assigned in the symbol library.When I inspect the parts in Eeschema, it turns out that Eeschema does not find/know these footprints either. Please see the attached screenshot for an example. The same problem occurs for all other parts which had footprints pre-assigned in the library -- even a simple voltage regulator which has its footprint preset as "Package_TO_SOT_SMD:SOT-23".I am using KiCAD 5.1.9, freshly installed. All symbols I placed came straight from the libraries included with the installation. What am I doing wrong, and how do I fix this? Thanks for your help!

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 19, 2021, 10:41:41 am
content: What OS (and distro, if Linux) are you using? Did you install the KiCad footprints package? On my RPM based Linux system, the footprint you are missing is present in the library.Code:$ rpm -qf /usr/share/kicad/modules/Package_SO.pretty/kicad-footprints-5.1.9-lp152.37.1.noarch

author: ebastler
author_rank: Super Contributor
timestamp: February 19, 2021, 10:51:51 am
content: Right, I should have mentioned the OS. I am using KiCad under Windows 10. I don't think there was a separate option to install a footprint package during the installation, so I assume all that's required should be there by default.The "manage footprint libraries" menu item brings up the attached dialog -- plenty of libraries, although I don't recognize the library names mentioned in the problematic symbols. Should I be seeing something else there?EDIT:I do have subdirectories for all the missing libraries, in the KiCad\share\kicad\modules directory. (I.e. the KISYSMOD path indicated in the attached screenshot.) But none of the libraries under the KISYSMOD path are listed in the dialog. How do I tell KiCad about them?

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 19, 2021, 11:00:48 am
content: Is there a library called Package_SO? Are there in fact any libraries with plugins of type Kicad rather than Github? Is there anything in the directory that ${KISYSMOD} points to? I'm not familiar with how footprint libraries are distributed with the Windows version. Are there any instructions that explain how the footprint libraries are installed? Or perhaps scanned if you do actually have the library on disk.You could also ask on forum.kicad.info. I'm sure a Windows user will know right away what needs to be done.

author: ebastler
author_rank: Super Contributor
timestamp: February 19, 2021, 11:08:39 am
content: Sorry, I was editing my prior post while you were probably already responding. The KISYSMOD directory is well-filled -- all the missing libraries, and many more, are there. It's strange that the KISYSMOD path is listed in the libraries dialog (screenshot above), but none of the libraries show up.Thanks for asking the right questions! I feel that I am one step closer to the root cause, and will Google some more. Was hoping to avoid the need to register in yet another forum, but I'll head over to the KiCad forum if I come up empty...

author: ebastler
author_rank: Super Contributor
timestamp: February 19, 2021, 11:27:21 am
content: I am still stumped. There are 133 libraries in the KISYSMOD path (...\KiCad\share\kicad\modules). They were all automatically installed as part of the overall KiCad package, yet none of them is actually used. Instead, the fp-lib-table only includes references to Github-based libraries. And those are only a subset of the libraries in KISYSMOD, 74 in total.What gives? I can't be expected to manually add the 133 libraries to fp-lib-table?! I must be missing a step here, right?

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 19, 2021, 11:30:56 am
content: You'd think it should happen automatically. Maybe some post-install script failed to register the libraries. Is this your first install or did you have an older install of Kicad before?Edit: On my Linux system there is a file /usr/share/kicad/template/fp-lib-table which has all the libraries listed. Did you choose a different template when creating the project? I just create a project taking the defaults.

author: ebastler
author_rank: Super Contributor
timestamp: February 19, 2021, 11:47:38 am
content: Alright, I think it was an actual bug (inconsistency) in the installation, and I found a workaround. I downloaded an alternate fp-lib-table fromhttps://raw.githubusercontent.com/KiCad/kicad-footprints/master/fp-lib-table, which lists exactly the footprint libraries that were preinstalled in my KISYSMOD directory. That made all the libraries known to KiCad. It removed the Github libraries -- which I like; I prefer not to be dependent on online libraries anyway.This fixed the problems with all parts that had predefined footprints. Of course it created new problems with the parts where I had manually assigned footprints from the Github libraries, since it turns out that those libraries use different names. Grrr... Manually reassigned footprints from the locally installed libraries, and presto, I can import the netlist intoEeschemaPCBnew!Now on to placing and routing...Thanks again for your help!

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 19, 2021, 11:54:46 am
content: BTW you can use F8 = Update board to export and import the netlist in one go, even for the first time. In future that will be the only correct way to transfer the board to pcbnew, and the export netlist feature will be for external programs.

author: phil from seattle
author_rank: Super Contributor
timestamp: February 20, 2021, 06:42:25 am
content: Six months ago, I was where you are now. Eagle user for 20+ years, switched to Kicad for the same reasons you mention. The single biggest area of confusion is the library system. Project vs Global, relative path vs absolute, the split between symbol and footprint team up to almost overwhelming chaos. And rescue libraries - wtf??It took me a couple of weeks to get my head around the lib system and I can see the power of it. Symbol and footprint creation is easier than Eagle. I had to do a little tweaking of an Eagle board the other day and the library system felt utterly crude compared to Kicad.A suggestion, don't use the eagle project import feature. While it does work, it creates a whole set of issues that eventually need straightening out (like weirdly sized labels, some huge, some tiny). And when you hit all the library gotchas, it makes for a gawdawful soupy mess. Just bite the bullet and start over. It will be easier in the long run.One thing I really really miss from Eagle is the ability to create version +1 by just saving to a new file. Kicad doesn't have a mechanism for it so I wind up copying directories (and that gets me into library errors that I have learned I can just ignore but it's ugly - someday I'll figure out how get rid of the errors).

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 20, 2021, 07:30:14 am
content: Quote from: phil from seattle on February 20, 2021, 06:42:25 amOne complaint of git users is that a small change can result in a large diff in project files. I think in v6 the files will be saved in a canonical order of elements which will make changes much smaller, easier to see and also assist in CI.

author: ebastler
author_rank: Super Contributor
timestamp: February 20, 2021, 09:11:19 am
content: Quote from: phil from seattle on February 20, 2021, 06:42:25 amBrilliant, thank you -- that was the next question I was about to ask. The project that triggered my exploration of KiCad is a largish vintage computer design, 60 to 70 ICs (mostly 74HC series) plus change, and I have an Eagle schematic which is 90% done. I was wondering whether to use the imported version, or whether I shoud start over based on the proper KiCad libraries. I'll do the latter then, and chalk it up as Eeschema practice!QuoteI should probably learn how to use github next, and make proper version control and branching a habit. That would provide a solution for this issue, right? But for the time being I will have my hands full with KiCad, I guess...

author: phil from seattle
author_rank: Super Contributor
timestamp: February 20, 2021, 03:57:24 pm
content: QuoteI dunno, github is one approach but I like the simplicity of the Eagle way. I don't need to involve any other SW to go look at the schematic or board layout of a previous iteration. Maybe my work practices have been too shaped by Eagle but I do think simple is better in this case.On the project you mention, if it isn't completely done, that is all the more reason to start over in Kicad. What I have found to work well is to put the eagle version up on one screen and kicad on the other and work from there. For small projects, it goes quite fast. For a bigger one (200ish discrete components, 30 ICs and 50 or so connectors) it took a few hours but the resulting schematic was far cleaner than the import and didn't look like a frankenproject as I made changes. Maybe I am too picky about my schematics looking good but I chalk it up to pride of craftsmanship.

author: Bassman59
author_rank: Super Contributor
timestamp: February 20, 2021, 06:55:53 pm
content: Quote from: ebastler on February 19, 2021, 11:47:38 amIf your libraries are not visible to Kicad, it means your library tables (one for schematics, one for layout) are either empty or don't exist. And there's an easy way to populate them!Launch Kicad, and create a new project. From the Kicad project manager window choose Preferences -> Manage Symbol Libraries or Manage Footprint Libraries.A dialog opens. You'll see two tabs, one for "global libraries," the other. for "project specific libraries." (I ignore project-specific libraries, as I want all of my parts in my global libraries. That's a user preference.)At the bottom of the list of libraries -- which is probably empty if you didn't have an existing library table -- click the button with a folder icon. This brings up a familiar file-browsing dialog that says "select library." Mouse around until you find the library you want. Click 'open' and the library is added to your list of active libraries.And that's it.There's no need to add every single library you can find. Only add those you actually need to use. Kicad will be a bit snappier the first time you go to select parts because it opens and indexes all of the active libraries. A dialog will pop up saying that.

author: ebastler
author_rank: Super Contributor
timestamp: February 21, 2021, 12:14:16 am
content: Quote from: Bassman59 on February 20, 2021, 06:55:53 pmThanks, but that is not how KiCad came up after installation. The annoying thing, and what had me confused, is that therewereplenty of libraries pre-installed, but they were inconsistent:sym-lib-table contained plenty of locally installed symbol libraries, all in the KICAD_SYMBOL_DIR.fp-lib-table contained plenty of footprint libraries, all on Github.And the footprints referenced in the pre-installed symbol libraries werenot availablein those Github footprint libraries.Grrr...

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 21, 2021, 01:14:52 am
content: Possibly a packaging bug.

author: ebastler
author_rank: Super Contributor
timestamp: February 21, 2021, 07:53:50 am
content: Yes, that's what I would assume. Not a big problem, since it's easily repaired, but an unnecessary spanner in the works for first-time users.Did I mention that I really like KiCad's interactive router? Coming from my old Eagle version, the push-and-shove router is spectacular! Hey, even being able to drag traces around while they maintain their 90°/45° angles at all times is luxury.

author: retiredfeline
author_rank: Frequent Contributor
timestamp: February 21, 2021, 07:56:36 am
content: Apparently it gets better in v6 where you can drag components and the traces follow.

author: apurvdate
author_rank: Contributor
timestamp: February 22, 2021, 04:36:41 am
content: Quote from: ebastler on February 19, 2021, 11:27:21 amIIRC Kicad should give you an option regarding library tables on your first run of eeschema/pcbnew.It provides options like1. Start with empty lib-table.2. Start with default lib-table. (Here it should detect pre-installed libraries)I don't remember the third one. Its been too long since I had a fresh install of Kicad.What I remember that I selected empty lib-table & manually added the libraries the way Bassman59 explained.Follow the same process to add user created libraries.

author: poeschlr
author_rank: Regular Contributor
timestamp: March 12, 2021, 06:40:50 pm
content: Your footprint problems sound a bit like you had version 4 footprint libs somehow surviving from an early installation (wrong names, direct link to github). You might want to take a look at this:https://forum.kicad.info/t/i-had-kicad-4-installed-previosly-now-i-updated-to-v5-now-i-have-some-problems-with-the-library-setup/11932TlDr if your footprint libs are in plural form or if you have libraries that start with Housing_ then you somehow have the old libs. Solution is to either also use the old symbol libs or change your footprint libs to the new version 5 ones.