Skip to main content

Overview

CvPcb (Component vs PCB) is KiCad’s specialized tool for assigning PCB footprints to schematic symbols. It provides a focused interface for managing the critical link between your circuit schematic and the physical PCB layout.
CvPcb is typically launched from the Schematic Editor but can also be run standalone for reviewing and modifying footprint assignments.

Key Features

Visual Footprint Preview

Preview footprints before assignment with detailed pad and outline visualization

Library Filtering

Filter footprint libraries by keyword, pin count, or package type

Batch Assignment

Assign footprints to multiple similar components at once

Equivalence Files

Use equivalence files to suggest compatible footprints automatically

Launching CvPcb

From Schematic Editor

  1. Open your schematic in Eeschema
  2. Click the Assign Footprints button in the toolbar
  3. Or use menu: Tools → Assign Footprints
CvPcb will automatically load your netlist and display all components that need footprint assignments.

Standalone

Launch CvPcb directly from:
  • Project Manager: Tools → Assign Footprints
  • Command line: cvpcb [schematic_file.kicad_sch]

Interface Layout

The CvPcb window is divided into three main panels:

Component List (Left)

Displays all components from your schematic:
  • Reference - Component designator (R1, C5, U3, etc.)
  • Value - Component value
  • Footprint - Currently assigned footprint (if any)
  • Status - Assignment status indicator

Footprint Libraries (Center)

Shows available footprint libraries:
  • Filtered based on current selection
  • Can be searched and sorted
  • Double-click to browse library contents

Footprint List (Right)

Displays footprints from selected library:
  • Thumbnail preview
  • Footprint name and description
  • Pin count and package information

Assigning Footprints

1

Select Component

Click on a component in the left panel that needs a footprint assignment.
2

Filter Footprints

Use the filter buttons to narrow down compatible footprints:
  • By Library - Show only footprints from specific libraries
  • By Pin Count - Match the component’s pin count
  • By Keywords - Search by package type (e.g., “0805”, “SOIC”)
3

Preview Footprint

Click on a footprint in the right panel to see a detailed preview in the footprint viewer.
4

Assign Footprint

Double-click the footprint or press Enter to assign it to the selected component.
5

Repeat or Save

Continue assigning footprints to all components, then save your work with File → Save.

Filtering Options

CvPcb provides several filtering methods to help find the right footprint:

Filter by Keywords

Use the search box to filter by:
  • Package type: SOIC, QFP, BGA, DIP
  • Size: 0805, 1206, SOT-23
  • Manufacturer: Texas_Instruments, Microchip

Filter by Pin Count

Click the Filter by Pin Count button to show only footprints matching the component’s pin count.

Filter by Library

Select specific libraries to search within:
Package_SO
Package_QFP
Package_DIP
Resistor_SMD
Capacitor_SMD

Equivalence Files

Equivalence files (.equ) define relationships between component values and recommended footprints.

Format

'R' 'R_0805_2012Metric'
'C' 'C_0805_2012Metric'
'LED' 'LED_SMD:LED_0805_2012Metric'

Using Equivalence Files

  1. Load File: File → Preferences → Equivalence Files
  2. Auto-assign: Tools → Automatic Footprint Assignment
  3. CvPcb will suggest footprints based on component values
Create custom equivalence files for your frequently used components to speed up the assignment process.

Footprint Preview

The built-in footprint viewer shows:
  • Pad Layout - All pads with numbering
  • Silkscreen - Component outline and reference designator
  • Courtyard - Keep-out area for assembly
  • Fabrication Layer - Manufacturing reference

Preview Controls

  • Zoom: Mouse wheel or +/- keys
  • Pan: Right-click and drag
  • Rotate: Spacebar
  • Layer Display: Top toolbar buttons

Batch Operations

Assign to Multiple Components

  1. Select multiple components (Ctrl+Click)
  2. Choose a footprint
  3. Double-click to assign to all selected components

Clear Assignments

  • Single: Select component, press Delete
  • All: Edit → Clear All Associations

Integration with Schematic

Footprint assignments are stored in the schematic file:
(symbol (lib_id "Device:R")
  (property "Footprint" "Resistor_SMD:R_0805_2012Metric")
  ...
)
Changes in CvPcb automatically update the schematic when saved.

Common Workflows

Resistors and Capacitors

  1. Filter by component type: “R” or “C”
  2. Filter by size: “0805” or “1206”
  3. Assign SMD or through-hole based on design requirements

Integrated Circuits

  1. Check IC datasheet for package type (e.g., SOIC-8, TSSOP-16, QFN-32)
  2. Filter by package name
  3. Verify pin count matches
  4. Check pad pitch (1.27mm, 0.65mm, 0.5mm, etc.)

Connectors

  1. Note connector type (header, JST, USB, etc.)
  2. Verify pin count and orientation
  3. Check mounting style (SMD vs through-hole)
  4. Confirm pitch spacing

Keyboard Shortcuts

ShortcutAction
EnterAssign selected footprint
DeleteClear footprint assignment
Ctrl+FFocus search box
Up/DownNavigate component list
Left/RightNavigate footprint list
Ctrl+SSave associations
F1Help

Troubleshooting

Solution:
  • Check that footprint libraries are configured in Preferences → Manage Footprint Libraries
  • Ensure the library path is correct
  • Verify the library table (fp-lib-table) is valid
Solution:
  • Verify the symbol definition in the symbol library
  • Check for hidden power pins that may not be counted
  • Update the symbol if needed
Solution:
  • Ensure you have write permissions to the schematic file
  • Save explicitly with File → Save
  • Check that the schematic file is not read-only
Solution:
  • The footprint file may be corrupted or invalid
  • Try selecting a different footprint
  • Check the footprint library integrity

Best Practices

Start Early: Assign footprints during schematic design to catch pin count mismatches early.
Use Standard Libraries: Prefer KiCad’s built-in footprint libraries for better compatibility.
Document Choices: Add notes in the schematic about why specific footprints were chosen.
Create Templates: Save component-footprint mappings in equivalence files for reuse.

Schematic Editor

Design schematics and manage symbols

PCB Editor

Layout PCBs using assigned footprints

Footprint Libraries

Manage and create footprint libraries

Symbol Libraries

Manage schematic symbol libraries

Build docs developers (and LLMs) love