Symbols and footprints - Page 1
Forum section: electronics / general

author: YurkshireLad
author_rank: Frequent Contributor
timestamp: March 12, 2021, 10:49:29 pm
content: Typically, if KiCad has a symbol for a component, should it also have a footprint? For example, there's a symbol for an L1117 voltage regulator but no footprint.I found a site (https://github.com/automote/kicad-library) that may have footprints for this component, but I want to make sure before I try to import anything into KiCad that might break things. Thanks

author: retiredfeline
author_rank: Frequent Contributor
timestamp: March 12, 2021, 11:02:47 pm
content: Synbols and footprints are separate concepts in KiCad. There might be a default footprint associated with a symbol but it's not required.This gives flexibility. You can see that lots of ICs could share the same footprint, e.g. SOIC14. Also a symbol like power connector could have many realisations, barrel jack connector, Molex, etc. etc.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 12, 2021, 11:07:01 pm
content: Some libraries have symbols, but no link to default footprints. Especially with more standard footprints one can still chose one. One just needs a little extra care that the FP is actgually correct (e.g. pin numbering changing from DIP to SO8 with the LT1013). Usually getting the footprints is the lesser problem with ICs - there it is more about sensible symbols (e.g. more than just a box with 16 pins).The Footprint is the more tricky part with something like relays or connectors. Here a standard symbol can be used for many types, just lots of possible footprints.The library part of KiCad is still one of a major weak points. With a mixture of older and newer libs there also some inconsistancies (e.g. references to footprints that have changed name).

author: poeschlr
author_rank: Regular Contributor
timestamp: March 14, 2021, 08:52:20 am
content: The ruleset of the official library is quite clear about the fact that basically every symbol must have a footprint assigned. We call this a "fully specified symbol" (it is as specified as feasible for the official lib -- we can not really provide order numbers of distributors nor can we provide you with your personal house part number for obvious reasons). This combination is also vetted during the contribution process (The reviewer checks that the pad numbers of the footprint agree with what the symbol numbering expects and if the footprint itself is for the correct mechanical dimensions of the package -- very tricky with parts in SOT-23 and similar where manufactures simply can not agree on a pad numbering scheme which is annoying to say the least)Of course as this is vetted by a human there is always the chance for an error to appear.So now to the exceptions. A few symbol libraries are allowed to have so called generic symbols in them.One of these is the device lib. It holds the most generic symbols of all (like the generic resistor, capacitor but also a generic symbol for transistors -- The latter for example also has a more specialized library with fully specified symbols). Symbols in this library sometimes don't even have any footprint filters setup (would not really be feasible for the transistor symbol for example).And then there are the connector libs. These again do not have a footprint assigned, but they have a footprint filter which will help to find footprints during the assignment process (either for cvpcb or with the experimental option in the "add symbol dialog").The logic libs are a slightly different story. They are basically legacy libs in a very bad state. Not only do they not have a footprint assigned, but they still have hidden power pins. It was always planned to rework them but well nobody was prepared to sink the time necessary into them (i was tempted to just throw them out and let contributors start fresh but the fear of the backlash for such a move prevented me from doing so). Luckily at least the cmos4xxx lib and the 74xx lib got reworked such that they no longer have hidden power pins (thanks to the kicad forum user bobc who made a script that makes this reasonably easy).Another obvious exception are symbols that are not representing a device. Like the power symbols or graphical symbols.Regarding the comment that wrong footprint names are used:While it can happen that symbols have a wrong footprint assigned it is unlikely that many symbols are affected by this as this is something that is automatically checked. If you therefore see a lot of symbols with illegal footprints then you might have a library in an inconsistent state (example the symbol lib from v5 with footprints from v4 -- which can easily happen during an update from v4 to v5 as the footprints were pointed to github in v4 and this is not updated during the installation process. Seehttps://forum.kicad.info/t/i-had-kicad-4-installed-previosly-now-i-updated-to-v5-now-i-have-some-problems-with-the-library-setup/11932to learn how to detect if this is the case for you and how to solve it)for details regarding the ruleset seehttps://kicad.org/libraries/klc/G2.1/And i checked the symbol for L1117. As a first observation there is no such symbol in the official lib. I assume OP meant LM1117 or LP1117. Both do indeed not hold a footprint reference in the library of version 5. Which means this symbol strictly speaking breaks the current ruleset (The rework of the regulator lib was a huge amount of work during the v5 release process. So i am not suprised that we missed something.)This will not be fixed for v5 as the library team moved on to preparing the v6 release. But i reported this on gitlab so it might be fixed for v6https://gitlab.com/kicad/libraries/kicad-symbols/-/issues/3131

author: YurkshireLad
author_rank: Frequent Contributor
timestamp: March 14, 2021, 01:16:55 pm
content: Sorry, I did indeed mean LM1117. Thanks for the detailed reply.