How can i assign a footprint to a symbol?

Disclaimer: Screenshots taken from version 5.1.4

KiCad determines which symbol belongs to which footprint via the footprint field of the symbol. This symbol field can be set either already in the library (fully specified symbol) or sometime during the schematic design process. This tutorial lists all options you have to assign a footprint to your symbols.

At schematic design time

This workflow is less work for library maintenance and allows for selecting exact components late in the design process.

Using the assign footprints tool (In the past known as CvPcb).

Found in eeschema: Tools->assign footprints to components (Might be called differently in your version of kicad.)
This tool allows you to edit the footprint field of all your components in a tabular form.
If you want to assign a footprint to a component, select this component in the middle column and click on the desired footprint in the right column. What is shown in the right column is determined by the filter settings.

Filters of the assign footprints tool

Only footprints that fulfil all footprint filters with respect to the currently selected target symbol are shown in the rightmost column. There are 4 filters available.

  • Filter by the symbols footprint filter(s) uses the filters set in the footprint properties within the library (see below).
  • Filter by pin count shows only footprints that have the same number of pads as the symbol has pins. (There is no check if the identifiers agree. Duplicated pin numbers or pad numbers are not counted)
  • Filter by selected library uses the library selected in the leftmost column of the tool
  • The manual filter uses the same syntax as the symbols footprint filter (see below)

Activate previews in the assign footprints tool

It is possible to have a preview of both the footprint and it’s assigned 3d model. The preview windows are separate and can be placed anywhere on your screen.

They will loose focus (get pushed to the back) as soon as you select a new footprint. So place them somewhere outside the space taken up by cvpcb for easy usage.

Setting the footprint for a single placed symbol in its properties dialog (footprint browser)

Hover your mouse above the symbol you want to assign a footprint and press e to reach the symbol properties dialog (or right click -> properties -> edit properties).

This dialog allows filling out the footprint field for the active symbol. Click in the text input area of the footprint field to get a button that allows opening the footprint browser. You can also manually enter the footprint reference into this field (Syntax: <library nickname>:<footprint name>)

In the footprint browser you need to select the footprint lib in the leftmost column and the footprint in the middle column. (Single clicking updates the preview, double clicking assigns the footprint.)

The symbol field editor of eeschema (footprint browser)

Version 5 introduced the footprint field editor. It allows to edit all fields of all placed symbols in a tabular view. This includes the footprint field. It is found in tools -> edit symbol fields.

You can assign the same footprint to multiple symbols by making use of the grouping options. The same footprint browser shown in the previous section can be reached by using the button that shows in the footprint field when you click on it.

In KiCad v5 (or nightly), directly in the component selector.

KiCad v5 has an experimental feature to allow footprint preview and selection when browsing symbols. It must be enabled:

  1. Open Preferences → General Options.
  2. On the Display tab, enable “Footprint previews in symbol chooser (experimental)”.

The feature should be considered in “beta”, as performance is a bit poor and a few features are still missing, but what is there should work.

In this selection dialog the following options are available:

  • By default the footprint set in the symbols footprint field is selected.
  • The option “Other…” opens the footprint browser.
  • In addition to the default footprint, all footprints that result from the footprint filter defined in the symbol are shown as well.

Specified in the library

This workflow is a bit more work on the library side and requires you to select the exact component while selecting the symbol. (You can exchange the symbol later on and could even use the same tools as with the previous workflow to overwrite the library settings.)

Setting the default footprint for symbols. (Library editor)

More detailed description in the https://forum.kicad.info/t/tutorial-how-to-make-a-symbol/13336

You can setup your lib such that your symbols have their footprint pre assigned. This is called a fully defined symbol. (This footprint will be automatically assigned in KiCad v4. In KiCad v5 you can change the assignment using the new symbol selector dialog.)

Appendix

Setting footprint filters for symbols. (Library editor)

The footprint filters are used in CvPcb if you set the filter that way. (see above)
They are also used in the KiCad v5 symbol selector dialog to show alternative footprints.

Footprint filters can include wildcards:

  • ?: Exactly 1 character (1)
  • *: Any number of characters (0…n)

Further reading (related topics)

10 Likes
What is the difference between footprints and symbols?
Missing Footprint PcbNew
New to this. CVPCB doesn't have any footprints. Help!
Library/component issue
Help with connector footprints
How to connect a wire to the PCB?
Blog about how to make library assets
SMD components foot print and selection
No footprint assigned
One symbol not in list (CvPcb)
KiCad EDA Newb Needs Help Getting Started
Tutorial: Introduction to PCB design with KiCad version 5.1 (Getting Started)
[solved] Problem with "read the netlist" in newPCB
Assigning footprint via library browser broken?
Type 2 errors in schematic
Footprint name starting with a number - not allowed?
Help with custom symbol and footprint management
Symbols and footprint for ferrite beads
FootPrint Paths and Folders
Generic symbols and using Eeschema for a sole purpose
"fixing" the pin assignments on a symbol and footrpint
Visual part selection?
Won't save junctions in schematic
Help importing part from Ultra Librarian
Help importing part from Ultra Librarian
No PCB footprint libraries are listed in the current footprint library table
Footprint preview
BGA pin mapping
How to add G6K-2P-Y from github Lib to Layout
How do I change path segment?
Guidance on chip selection during cvpcb process (first board!)
Cvpcb picking footprint for scart and pin connectors
KiCad 4.0.7 footprint library wizard
Transforming a schema into a pcb
Netlist Load Error
Kicad 5 - unable to associate files in cv pcb due to missing libraries
Newbie staring into the deep end of the pool w/ Cvpcb
How can I assign a footprint to a symbol? - suggested edit
Footprint viewer is empty
How to view components in 3D viewer
Help to source, install and manage libraries?
How to assign JST footprint to connector
High level thinking
High level thinking
Trying to create a PCB with holes
Looking for thru-hole tactile switch with LED
CvPCB and FPID Conformation
All pcb footprints missing from all libraries
Components libraries issues
Assign Footprints 'Apply, Save Schematic & Continue' What does it do?
CVPCB - Error, component not found in any library
Suggestions to improve KiCAD
Filter for footprints
Matching (Reconciliation) the Footprint with its Symbol
Some newbie questions
Why not included footprints for simple resistors
NPTH Mounting Holes ... AAAaarrgh! Or, how to get them right the first time
First Schematic - Looking for Pointers
New User footprint hell
Doubts when using the LM324
Create symbol, create footprint and bind them
Using Arduino_Uno_R3 - CAD newby
Cvpcb associate footprints
How does KiCad know which symbol pin represents which pad of the footprint?
Error Importing Netlist
Rats nest not updating and schematic components absent from Layout
Fast PCB design
(Start Here) Frequently Asked Questions
Finding components in standard (downloadable) libraries
New to KiCad, Does it matter which mirror to use: CERN, github or futureware?
Permanant or default assignement of footprints in schematic
Alternative footprints
Assigning Footprints & ERC
I come from Eagle. What should i know about KiCad?
Limited choice on footprint list
cvPcb pin filter (mostly) broken for me?
How can you match specific footprint pads to specific schematic symbol nets?
Wrong resistor size :(
Cannot assign correct footprint
Cannot assign correct footprint
Footprints for 2pin/3pin screw connectors
Don't see any PCB symbol in D_Bridge symbol
'go back to library' in footprint assignment
Checking already available foot prints in the lib
New install of 5.1.16 - CvPCB does not work
Noob Q... update footprint
Adding custom footprints
CvPCB for association
Filtering footprints with compatible pin count
Where find resister (no smd)?
Can not open .NET file
Read netlist in pcbnew cant find the footprints that are on disk
Netlist issue loading
Designing the pcb and schematic problem
Change footprint of multiple identical components
Assigning footprint question
Footprints get updated all the time