Tutorial: How to make a footprint in KiCad 5.1.x?

Modify an existing footprint

Copy an existing footprint to any library (save as)

Lets say we want to make a footprint for a triple row pin header (03x10) from the existing double row connector (02x10).

So first open the footprint PinHeader_2x10_P2.54mm_Vertical from the official library. To easily find a specific footprint in the treeview enter its name in the filter field (at the top of the treeview).

Now from the file menu choose “save as” (shift+ctrl+s). A window will open that allows you to select the library you want to save the footprint to as well as the footprint name you want to use for your new footprint.
You can use the filter field at the bottom of this window to make finding the target library easier.
Be aware that one can not make a new library via save as so this must be done before trying to save the footprint. You can follow Creating a new footprint library to learn how to do it.
TlDr: file -> new footprint library → select the location where to save the library and a name → finally decide if the library should be added to the global or project (local) footprint library table.

The new footprint will be opened in the edit window ready to be modified. You should also be able to find the footprint in the treeview under its new name (you can again use the filter field to make this easier).

An alternative to the listed process is to right click on the source footprint name in the tree view and select save as directly there instead of going through the file menu.

The right click menu of the tree view also has a copy/paste functionality to copy footprints between libs (without being asked about the target library or a new name so this is the fastest option if you just want to copy a footprint without changes)

Adding a new row of pads and updating the pad numbers efficiently

As a first step lets focus on only the pads. We will copy one row of pads and then use the pad renumber feature to get the correct numbers.

To make this process easier we can hide everything except copper features. The fastest option for that is to right click in the layer view and select “Hide all non copper layers”.

Switch the grid to 2.54mm (right click → grid) and select one row of pads by using box selection (hold down the left mouse button and drag). Use ctrl+d to duplicate the selected pads. The new pads are now attached to your mouse and can be placed one grid point to the right with left click.
The result will look like the following screenshot.

Now we have all even pad numbers duplicated which will not be of much use. We therefore need to renumber the pads. We will need to ensure the pad numbering scheme we select fits the pin numbering of the symbol we want to use. For details about that see How does KiCad know which symbol pin represents which pad of the footprint?

The official library does not have a symbol for a 3 row connector so for the purpose of this tutorial i decided to just go with the numbering scheme where row one has the pad numbers 1 to 10, row two the numbers 11 to 20 and row three 21 to 30.

Doing this manually would be quite a lot of work (potentially more work than using the array tool to create the pads from scratch). Luckily KiCad has a pad renumbering tool that can be reached via the right click context menu → pads → renumber pads.

A menu will open that allows setting the first number as well as a common prefix. After setting this up a tooltip will be next to your cursor telling you to click on the pad you want to assign the given number to. This tool luckily also allows to just hold down the left mouse button and drag to easily number consecutive pads.

Edit graphical elements

Before we can edit the graphical elements we will need to make them visible again. Right click into the layer manager again and select “show all layers”.

All graphical elements (lines, arcs or circles) can be edited by selecting a single element. This brings the selected element into its edit mode which is signified by a filled square at the endpoints of every element. Sadly lines that touch (like for example two lines at the corner of a rectangle) can not be edited at the same time (meaning increasing the width of a rectangle is at least a three-step operation).

What makes it easier is setting up the grid as described in the previous sections of this tutorial (set the grid origin up to point to one target corner - set the grid x and y size to the requested size of the new rectangle - edit all elements of that form this rectangle one by one)

This will not be shown in more detail in this tutorial as it is a repeat of what is already above.

2 Likes