mcf1foot1- Making a new footprint

create counter

Stop press!

This page is OLD. From about 2011. And it is done using an old KiCad. If you haven't already seen the "modern" (Feb 2017/ KiCad 4-0-4) versions of my attempts to help you master creating custom schematic symbols and footprints, work through that first.

Having said that, here's the old material, lightly tweaked…

You don't need to catch a rabbit to make this stew… but there is something you ought to do first, which you will do once. I have created a separate page discussing the issues of establishing homes for the different files connected with your work… your ".pro" files, .brd, .sch files, .lib files, and .mod files… etc! (What those different files are for will emerge as we go along!

And there's another page… with some overlap of content, I fear, with further discussion of the management of the two sorts of library.

The page you are reading is a sub-page of the "Making Components and Footprints" section of… an old tutorial on making schematic symbols and footprints. If you haven't read my modern (2/17) tutorials on those subjects yet, start there. The site's main tutorials "menu" will tell you what's available, and supply links.

A simple footprint

Making a footprint isn't terribly hard. Getting things set up with a new footprint library for you to store your footprint definitions in is a minor pain but you need to do that. Don't mix your footprint designs in among the "standard" ones. I've done a "how to" for you about [/tfmf1main establish a new footprint library for footprints designed by you. When you've done that, you'll not only have a footprint library, but it will have a "starter" footprint definition in it.

Once upon a time, footprints were held in .mod files, and one .mod file could hold several footprints. Nowadays each footprint definition is stored in a separate .kicad_mod file, and they are stored in folders with names ending ".pretty".

Also remember that the term "library" does, unfortunately, get used both for libraries of schematic symbols (aka "components") and for libraries of footprints. Footprints were once known as modules. The term pops up once in a while still, as is true of "components".

Creating a new footprint, and storing in a new .kicad_mod file, in the .pretty folder you created earlier.

So. You've done the simple introductory exercise, so that we have a common vocabulary? It really might help!

The making of a new .kicad_mod file will create a new "ocntainer" for some footprints in your library of footprints.

Once you have the library set up, you can start a new footprint.

Both of the above already have new (2/17, for Kicad 4-0-4) tutorials… see the main tutorials menu.

A new footprint from scratch

The following was first written in 2011. The process of building a new footprint from scratch, once you have saved a start, as explained in the tutorials referenced above, probably hasn't changed much since 2011, but be warned: Element of what follows may be dated.

Get yourself into the footprint editor, and get a new footprint started.

The naming of footprints will be critical to your happy used of the system. Unfortunately, I don't understand enough at this stage to give you good advice. The "reference" they are talking about here is the name the footprint will present when you are in CVpcb, assigning footprints to components.

I believe the name should be kept short, and have no spaces in it. You can use upper and lower case letters. For now, you might be advised to start the name with your initials, "tkb" in my case, and then give it a name that seems like a good idea at this time. When you know more, you can get fancier. You might also want to put an "A" in front of your initials, if your name isn't Antonia, so that your footprints show up at the top of any alphabetized lists. (Use a capital "A", not a "a". Some lists put Zthis before athat.)

Some text… several bits, all on top of each other… will appear on the "page" of the module editor at this point.

Don't worry about it just yet.

Click on the "pads" button, right hand toolbar, move the pointer over to the "page", move the cross hairs, and click again. That will leave you with the following, which also points out the "Add Pads" button.

Our new footprint isn't finished yet, but, do a routine, "save- what- we- have- so- far" preliminary save.

The definintion of this footprint is in a .kicad_mod file. That file is in the XX.pretty file pointed to by the active library setting.

As with the rather timid name I suggested for your first schematic symbols, I would suggest that you create a few "trial" .kicad_mod files, with stuff in them which you will eventually just discard, once you are more confident that you know what you are doing. To that end, for the tutorial, I am saving my footprint as "aTKBtmp", in the ".pretty" folder I set up for the footprints I design myself, or obtain from third parties.

Tweaking an exising footprint defintiion:

What if we have a half done footprint, from an earlier session. Can we just re-load that, do more work on it, re-save it? Of course!

Improvements to our footprint

So far, our footprint has two pads.

You may need to zoom out a bit, but use the "Add graphic line or polygon" tool (marked below) to draw a box around the pads. (Click at first corner, drag out line to second corner, click, drag to third, click, drag back to start, double-click.) If necessary, double-click to "lift pen". Select pointer, use "delete" key. Return to "Add graphic line…", etc, etc, to get something like what you see below….)

(You do, by the way, want to center your footprint, more or less, on the blue cross hairs.)

The line you have just added will appear when you use the footprint, and will be a guide to the designer as to how much area around the pads must be kept clear of other things, because of the actual device which will be soldered onto the board.

What I called the "jumble of text" (in the middle of the screen) is the "value" and "reference" properties of the footprint.

At the very least, move one up a bit, and the other down a bit, to "de-jumble" them!

What they are "good for", what the values in these properties affect is a story for another time! But first, just in passing…

Here are the pop-ups which arise 2/17, KiCad version 4-0-4. This corner of KiCad is not "finished", it seems! I think we could be forgiven for not realizind that the two pop-ups are different…. in spite of the "Footprint Text Properties" in the title bar, and the bold "Footprint REF++ Orientation" bits at the tops. Note the next field caption, the thing I marked with the cursor pointer in each. "Value" and "Reference". Ah! Footprints have values of those names. And these bits of the footprint definition will be critical to what the user of the footprint encounters when trying to set a value or reference for any footprints of this sort in the PCB design.

We did it!

We're now well started in the wonderful (and useful!) world of creating our own footprints.

No longer do we have to "make do" with the ones in the library. No longer do we need to use kludges to get something that "works"… sort of.


Components are the "ingredients" of a schematic. Footprints are the ingredients of the PCB design.

Until you advance to the more complex topic of devices which have multiple instances of some circuit element held in a single package, for instance a 7400 quad NAND gate, the number of pins on the component should be the same as the number of pads on the footprint. Which "pad" matches up to which "pin" will be determined by the "numbers" (not "names") assigned to the pins (which may be something like "Xy"… bad idea for beginners… but allowed… and the numbers (not nets) assigned to the pads. If you haven't looked at creating and editing footprints yet… I have some good news for you: It is very like creating and editing components! (Well… sort of good news. Master one, and you've almost mastered the other. Of course the "master one" bit may daunt you a little!)

In the Footprint Editor, you can access the properties of any pad as follows… (This in particular may be dated…)

1) Be sure the pointer button is "down", i.e. that the pointer tool is selected, that you are in "pointer mode".

2) Put the cross hairs on the pad in question.

3) Right click, and select "edit pad". (Sometimes you can just press "E".)
The entry for "Pad Num" will give the pad's "number". Note that things like "Ip1" are acceptable for pad "number"… but for a given footprint to work with a given component, the component's pins must have the same "numbers" as the footprint's pad's "numbers". The "number" must be quite short, and may not have spaces in the the characters making up the "number". (KiCad will just truncate things that are too long, and replace spaces with underscores.) The number does not have to end with a digit.

Apologies for the "bits" thrown at you at the end!

Speaking of which: Here's another (!)…

Suppose you've got a pretty good footprint done, but you want to change all the pads on it? Couldn't be easier… when you know how…

Get the footprint open in the Module Editor.

Put the pointer on a pad, press "E" to start editing it.

Make your changes.

Click "OK" which will take you out of the Edit dialog, leaving you with the results of your changes on view…. in one of your pads.

Right click on the pad again. Click on "Global Pad Settings". Think about the three tick-box options. Probably you'll want to leave all three ticked, but maybe not.

Click "Change Pads On Module".

Re-save the module.

Now the MODULE (or footprint) has changed… but any instances of that footprint which you have already placed on your pcb design are still using the old settings.

You might as well leave the Module Editor open, as you may need to make further changes, but go back to pcbNew….

…. and right click on an instance of the footprint you re-defined. Under "Footprint", invoke "Edit Parameters." Click Change Modules. That should do it! No change? Did you remember to re-save the module after you re-defined it?

As I said… Sorry for the "bits thrown in"… But we got there!

The work you've done above will make your life MUCH easier when it comes to "how do we create or edit components?"

Easier. It all seemed easy enough when, a long time ago, I set out to write this manual… and I've barely scratched the surface. Oh well…

The page you have been reading is a sub-page of the "Making Components and Footprints" section of

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