co1compfplib- Schematic Symbols, Footprints, and Libraries

create counter

The relationship between the constituent parts of any KiCad project.

Several terms are used in a restricted sense within KiCad, and it will pay you to think along the same lines.

This page has been checked to see that confusion in my brain (before 9 November, 2011) about the roles of pin names and pin and pad numbers hasn't led to errors here. I have a page with more on this if you are really curious.

I'm going to "repeat" what I've said elsewhere about libraries, schematic symbols, footprints, etc.

("Component", once used in the "visible" parts of KiCad, and still used… in an odd way… internally can mean too many things. Happily, that term has, in the visible parts, mostly been replaced by "schematic symbol", which is less easily mis-understood.)

Schematic symbols

right and side of KiCad central manager window

KiCad comes with many schematic symbols. Everything from aschematic symbol for a simple LED up to schematic symbols for whole microprocessors.

If you are still uncertain about the meaning of those terms, can read more (or the same as above, said (nearly) another way) in the pages devoted to the concepts of "schematic symbol", "footprint" ("footprint" same as "module"… I think!) and "device".

And if you need a schematic symbol that doesn't come with the system, you can create it.

The "definitions" of the schematic symbols are, of course, saved somewhere on your computer. Like words in a dictionary. The author assembles a novel from words. The PCB designer assembles the circuit diagram from schematic symbols.

We'll talk more about how the definitions are stored later.


Besides schematic symbols, KiCad uses "footprints", (less clearly also known as "modules"). While schematic symbols were the components of circuit diagrams (aka "schematics"), the PCB design is built with footprints.

When you create a PCB design from a schematic, the things shown on the schematic have to turn up in the PCB design. But they won't look exactly like the schematic symbol. Instead, what goes on the PCB is a "footprint". Footprints are sometimes called "modules", but that less helpful term is being phased out, I think. It is certainly being phased out of the pages I control.

So far so good? I hope so… because those ideas are important. Central to working successfully with KiCad. You won't fully understand them intuitively for a while, but after a few hours, I think the concepts will be second nature to you.

How the definitions are stored

So… the PCB designer needs to start with a schematic, and then he/ she creates the PCB artwork.

To do this, schematic symbols and footprints are used.

They come from "libraries".

In my study of KiCad, I have often found "library" in confusing contexts. I've come to the conclusion that "a bunch" of schematic symbol definitions can be called a library, and a bunch of footprint definitions can be called a library… even if, sometimes, you may see things that might suggest that it's all one library… NOT… or if you see things that suggest that the term "library" is restricted to a bunch of schematic symbols or a bunch of footprints.

Unfortunate file name

Now we come to a little whoopsie, which I hope you can forgive and overlook.

At an early stage in the evolution of KiCad, one type of constituent file was given ".lib" for its extension. (The files for schematic symbols, I think.) Don't let this fool you into thinking that "libraries" only contain schematic symbols.)

And it gets worse…

Sometime before 1/17 (KiCad ver 4.0.4) a major reorganisation of how footprint definitions was done.

Previously, they'd been held in ".mod" files. And you could put them in the folder of your choice. Now, the old .mod files can be read, and used, but not edited. Now footprint definitions are in ".kicad_mod" files, and they… if my imperfect understanding is correct… must be in folders with names ending ".pretty", e.g. "MyFootPrints.pretty". N.B. Windows users: The ".pretty" is NOT an extension. It is just part of the folder name. (The folder's name CAN be JUST ".pretty", by the way. I don't think you'd WANT this, but it can arise.)

In the old days, a single file holding footprints could have many footprints in one file. Now, I think, each footprint gets its own file, withing a ".pretty" folder.

A collection of these files is a library.

Wait a minute! I thought a library was a collection of schematic symbols! Saved in a ".lib" file. It is. ANOTHER sort of library.

But a collection of footprints is ALSO called a "library". It isn't just the things in .lib files that are "libraries".

That's definitely a smack, DiNozo. Oh well. At least "they" did one good thing: Libraries of footprints (once called "modules") were stored in files with ".mod" (for module) as their extension, and now are in ".kicad_mod" files.

Get it?….

.lib file: A library of schematic symbols
.kicad_mod (or .mod) file: A library of footprints, because they were known as modules

Okay. That's a (small) pity… but the only Bad Thing about KiCad I've come across so far. What were "they" supposed to do? Call a file of schematic symbols a "library", but insist we call a file of footprints a "collection"? I don't think so.

Not a deal breaker… for me, anyway.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License