Finding additional component libraries/footprints?

Hi. I am new to KiCad and this is my first post here. I’m trying to make the switch from Eagle to KiCad. I’m making my way through various tutorials by Contextual Electronics (thanks!) but also trying to work on a PSU board as I go. I’m now at the point of needing to assign footprints to schematic components. Right out of the box I’m finding it a lot more difficult to find parts/footprints than in Eagle. I expect it will get easier but… An example: I want a number of Faston .250 tab connectors on my board. I’ve been through the connector libraries and don’t see a suitable footprint. As these are extremely common I suspect the relevant footprint might be available somewhere, but I am not sure where to look. I’d rather look in the right place before trying to make my own footprints for every few parts I need. (Another example would be for the likes of FERD20H100SFP rectifier diodes in TO-220FPAB-3 case/package.)

Guidance appreciated.

Steve

It is difficult to build libraries for EDA programs which have everything users desire. The greatest art in the PCB design is to make yourself your own libraries, which will be tailored to your needs even if it will take a lot of time (Which anyway will pay off!). Sometimes, instead of looking for ready-made components it’s much faster to draw them yourself. It is a basic skill that should be mandatory to have.

The good sources besides official repositories are:
http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm
http://www.reniemarquet.com/bibliotecas_en.html

At least you can also use EAGLE footprint libraries just like that…

1 Like

Apologies for the boiler plate, but this is a FAQ.

How to find symbols/footprints

Try the following sites :

http://www.kicadlib.org/
http://www.kicadcloud.com/
http://library.oshec.org/


https://www.google.co.uk/search?q=kicad+part_name

If this doesn’t find anything, you are probably out of luck. More extensive searches might find something in github, or elsewhere.

Unless the symbol is very complex, it is not worth further searching, but it is very much worth learning to create symbols and footprints. Once up to speed, it becomes quite a quick process to create a new symbol, and you can be sure it meets your standards (other people have some weird ways!)

ETA: http://www.kicadlib.org/ and http://library.oshec.org/ seem to be a bit dead…
ETA2 The Eagle library con-faston.lbr might have what you want
ETA3: http://www.kicadcloud.com/ dead too?

1 Like

Hi. Of course it is a core skill to be able to create a footprint (and I have done so many times in Eagle, both symbols and packages). But as with Eagle, I expected there might be a few very useful repositories of footprints beyond those which are installed with the programme - just as there are for Eagle (e.g. Farnell). Also, oftentimes it helps to have a starting point even if one then edits that symbol/package to suit one’s personal needs. Of course the example I used was an incredibly easy part but that wasn’t the point.

I didn’t realise I can just load an Eagle library. How to do that?

Read the section 2 of Pcbnew manual and 5.3 of CvPcb manual.

2 Likes

Essential reading for new users : https://kicad.org/help/documentation/

1 Like

Thanks for the help.

I managed to import the con-faston.lbr. Rather finicky (importing symbols and packages separately) but worked.

I don’t find KiCad at all as intuitive to use as Eagle thus far but I assume I will get used to it. Even things like trying to figure out how to pan are not at all intuitive. (Mac and Wacom tablet.)

Well i bet that is because you got used to using eagle. (I used eagle for quite a long time before i switched to kicad about a year ago.)

Yes of course switching tools is a learning experience. And i’m sure that after you played around with kicad for a while you will find that the eagle ui is not quite as intuitive as you now think. (At least that’s what happened to me. I cant work with eagle anymore. I miss all the keyboard shortcuts. And the interactive router.)

So my advice: Hang in there and be open minded about discovering new approaches on how pcb design can be done.

If you have any specific questions on how a particular task could be done efficiently in kicad just ask in this forum. (this might make your learning experience a lot better.)

1 Like

I’m sure that’s right and I will persevere. But some things are very counterintuitive which makes it difficult. One example: I can’t for the life of me pan around a board or schematic. Maybe you can do this with a mouse (centre button) but I haven’t used one of those for about a decade. I use a track pad and Wacom tablet. In the schematic editor, I don’t see how to move a component with the wires moving with it. I have to redraw them. These are simple things. I will keep an open mind on why the board doesn’t automatically update for schematic changes for now :wink:

It is done with the middle mouse button as you already guesed.
(I don’t know if there is a way when using a tablet.)
Maybe make a topic asking this question.

In schematic editor use g.
In pcbnew not possible. (better than eagle where you need to delete crazy looking tracks after moving a part.)

This is just a design decision (by the original developers). In new versions of kicad (nightly build/ unstable) there is a button in pcbnew that updates everything. (no need to export the netlist anymore.)
Maybe forward backward annotation will be implemented in the future. (but for sure not anytime soon.)

Thanks. I will raise a separate thread re panning.

Regarding the last point, perhaps I can ask one more question here as it relates to sourcing component libraries from Eagle. I replaced a couple of the connectors in the schematic with the Faston connector symbol imported from Eagle. I then went through the process of rebuilding and saving the netlist and redoing the footprint assignment in Cvpcb to the new footprint. I can see the new footprint assignment Cvpcb and also when I hit E when hovering over the parts in the schematic editor. In Pcbnew when I Read Current Netlist I get an error for each of the new connectors:

Error: Component ‘J1’ pad ‘1’ not found in footprint ‘con-faston:con-faston-62409-1’
Error: Component ‘J2’ pad ‘1’ not found in footprint ‘con-faston:con-faston-62409-1’

The issue is that ‘con-faston:con-fasten-62409-1’ is no longer the footprint assigned in Cvpcb - it is Connectors:Faston-62409-1 which is the version I saved with this version of KiCad (con-faston:con-faston-62409-1 was the outdated format saved by the ulp). I can’t get the Read Current Netlist to update to the new footprint assignment.

Hopefully my description makes sense…

PS: I tried hitting Rebuild Board Connectivity (under Netlist in Pcbnew) but it simply crashes KiCad (every time).

Hit the ‘Save’ button in Cvpcb once you assigned the new footprints, then go back to EEschema and export the netlist AGAIN.
Then load that new netlist in PCBnew.

Yeah, I know… it’s being worked on as we speak :wink:

ok. Thanks a lot

Steve

I am trying to collect all the available footprints in monostable/kicad_footprints. It has over 20,000 now. Some familiarity with Git is required to make use of it.

ONLY 20,000? It would not surprise me if there are at least that many in the default GIT libraries supplied with a standard KiCAD installation.

Dale

Just had a quick count. The default libraries (which are also included as part of the 20,000) are currently 4118 footprints.

[quote=“kasbah, post:16, topic:4991”]
The default libraries . . . are currently 4118 footprints. [/quote]

I obviously thought there were many more footprints in the default libraries.

Your numbers say there are around 16,000 footprints available from readily accessible sources outside the KiCAD project itself. That sounds like good news - even if you dismiss half of those footprints as duplicates, the program obviously has the attention and support of a sizable user community.

Beyond that, I’d be careful about emphasizing the significance of a large library of footprints and symbols. To be honest, when I first started using EDA tools I was impressed by the commercial vendors who advertised, “Our program comes with a library of a jillion footprints.”. Eventually I realized that the board layouts I was doing seldom used more than a couple dozen footprints, and over a lifetime of designing boards I probably wouldn’t use more than a thousand footprints. Even before I arrived at that understanding I realized that many (possibly the majority?) of those ready-made footprints required some form of editing or modification before I used them in a design.

And the existence of a large library says absolutely nothing about the ease or difficulty of locating a particular footprint within the library. This problem has been the curse of every EDA program I have worked with.

The best advice, often repeated here on this Forum, runs something like:

Dale

1 Like

Sure but no one likes to reinvent the wheel. Mankind progressed wonderfully as some people began to specialise in particular tasks such as wheel making and others outsourced their wheel production to such specialists whilst getting on with other things. A larger stock of properly vetted part footprints can only be a positive.

The main problem is that you need to trust others when you use footprints you get from somewhere else.
Even in the kicad internal library there are sometimes mistakes.
And that after they have been checked by multiple people.

In most cases it is more work to check if a footprint is done correctly than to make one yourself.
My personal library currently has about 200 footprints. This is more than enough for my needs.
(I always use the kicad internal footprints as starting point and modify them to fit my needs.)
I also have a thinned out version of some kicad librarys in my personal lib (Who needs all possible phoenix mstb connectors in their lib? It makes searching a lot harder if you have to much)

1 Like

I’m sure once you’e got your own library done it is only occasionally that you might find need for another. I always found it very easy to double-check a footprint made by someone else and amend it if need be, certainly easier than starting with a blank page.

Is the below normal? A very simple task of finding a TO-220-3/TO-220AB vertical mount package for a 3-pin rectifier diode (two outer pins are anode and centre is cathode) is taking me hours instead of seconds and I’m no closer to getting it done.

Errors were encountered loading footprints:
IO_ERROR: footprint library path ‘/Users/steve/Desktop/Multicap_GEDA’ does not exist from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/gpcb_plugin.cpp : FootprintEnumerate() : line 966
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_TO-50.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_TO-50.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Transistors_SMD.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Transistors_SMD.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Transistors_TO-247.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Transistors_TO-247.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Power_Packages_SMD.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Power_Packages_SMD.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Capacitors_Elko_ThroughHole.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Capacitors_Elko_ThroughHole.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Pentawatts.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Pentawatts.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_SOT.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_SOT.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Oscillator-Modules.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Oscillator-Modules.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_ROHM.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_ROHM.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Sockets_PGA.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Sockets_PGA.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Crystals_Oscillators_SMD.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Crystals_Oscillators_SMD.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Power_Packages_ThroughHole.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Power_Packages_ThroughHole.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_SOT-23_SOT-143_TSOT-6.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_SOT-23_SOT-143_TSOT-6.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_TO-78.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_TO-78.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Transistors_TO-220.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Transistors_TO-220.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_SOT-89.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_SOT-89.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_TO-92.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_TO-92.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584
IO_ERROR: http GET command failed Cannot get/download Zip archive: ‘https://codeload.github.com/KiCad/Housings_TO-12_TO-18_TO-42_TO-43.pretty/zip/master’ for library path: ‘https://github.com/KiCad/Housings_TO-12_TO-18_TO-42_TO-43.pretty’. Reason: ‘Not found’ from /Users/ansible/4.0.5/kicad-mac-packaging-4.0.0/kicad/pcbnew/github/github_plugin.cpp : remote_get_zip() : line 584