Personal Kicad library conventions for symbol libraries. Inspired by the official KiCad Library Convention (KLC) but adapted for a fully specified component library.

1. Scope

These conventions apply to all symbol libraries prefixed with MyLib_. Every symbol in these libraries should be fully specified. It represents one exact purchasable component with a pre-assigned footprint, datasheet, and distributor information.

2. Library Naming

Libraries are named by function using the format:

MyLib_<Function>

Use singular nouns and CamelCase for multi-word functions.

Library NameContents
MyLib_CapacitorAll capacitor types
MyLib_ResistorResistors, including arrays
MyLib_InductorInductors, ferrite beads
MyLib_DiodeDiodes, TVS, Zener, Schottky, LEDs
MyLib_IC_PowerVoltage regulators, charge ICs
MyLib_MCUMicrocontrollers
MyLib_ConnectorVarious connectors (FFC, Pin Headers)
MyLib_SensorTemperature, IMU, pressure, etc.
MyLib_OscillatorCrystals, oscillators, resonators

3. Symbol Naming

Symbols follow the format:

<RefDes>_<Value>_<Package>_<Manufacturer>_<MPN>

3.1 Field Definitions

FieldDescriptionExamples
<RefDes>Standard reference designator prefixC, R, L, U, D, Q, J, Y
<Value>Human-readable electrical value or function100nF, 10k, 3.3V-LDO
<Package>Package identifier0402, 0603, SOT-23, SOIC-8, QFN-32
<Manufacturer>Manufacturer nameMurata, TI, ST, Nexperia
<MPN>Manufacturer part numberGRM155R71C104KA88

3.2 Examples

Symbol NameLibrary
C_100nF_0402_Murata_GRM155R71C104KA88MyLib_Capacitor
R_10k_0603_Yageo_RC0603FR-0710KLMyLib_Resistor
U_3.3V-LDO_SOT-23-5_TI_TLV75533PDBVMyLib_IC_Power
U_STM32F103C8_LQFP-48_ST_STM32F103C8T6MyLib_MCU
D_Red_0603_Wurth_150060RS75000MyLib_LED
J_USB-C_Amphenol_12401610E4-2AMyLib_Connector

3.3 Special Cases

  • ICs where the value is essentially the part number: Use a short functional description as the value instead of repeating the MPN. E.g. U_3.3V-LDO_... rather than U_TLV75533_..._TI_TLV75533PDBV.
  • Connectors: Value can describe the function or pin count, e.g. J_USB-C_..., J_2x5-SWD_....

4. Required Symbol Fields

Every symbol must contain the following fields.

4.1 Standard KiCad Fields

FieldVisibilityContent
ReferenceVisibleStandard RefDes (C, R, U, D, Q, J, L, etc.)
ValueVisibleSymbol name (matches the full symbol name from Section 3)
FootprintHiddenFull footprint path, e.g. Capacitor_SMD:C_0402_1005Metric
DatasheetHiddenURL to the manufacturer datasheet (PDF link preferred)

4.2 Custom Fields

FieldVisibilityContent
ManufacturerHiddenManufacturer name, e.g. Murata, Texas Instruments
Manufacturer Part NumberHiddenExact orderable MPN, e.g. GRM155R71C104KA88J
Distributor Link 1HiddenURL to primary distributor product page
Distributor 1 Part NumberHiddenPrimary distributor’s SKU, e.g. 490-16434-1-ND (Digi-Key)
Distributor Link 2HiddenURL to secondary distributor product page
Distributor 2 Part NumberHiddenSecondary distributor’s SKU, e.g. 81-GRM155R71C104KA8J (Mouser)

4.3 Field Notes

  • The Manufacturer Part Number field contains the full, exact orderable MPN.
  • Distributor fields enable one-click ordering and BOM export to purchasing tools.
  • If only one distributor source is known, leave Distributor Link 2 and Distributor 2 Part Number as ~.
  • All custom fields are hidden to keep the schematic clean.
  • If possible download a PDF of the datasheet and host it on your own server/keep it locally.

5. Footprint Association

  • Every symbol must have a default footprint assigned in the Footprint field.
  • If the same component exists in multiple packages, create a separate symbol for each package.

6. General Rules

6.1 Characters

  • Only use: A-Z, a-z, 0-9, _, -, ., ,, +
  • No spaces in symbol or library names.

6.2 Symbol Graphics

  • Whenever possible derive symbols from the Kicad library.
  • When creation of a custom symbol or footprint is necessary, follow the official KLC for pin placement, outline style, and text sizes.
  • Consider upstreaming the generic variant of the component to the Kicad library.

6.3 Adding a New Part — Checklist

Before a symbol is considered complete, verify:

  • Symbol name follows <RefDes>_<Value>_<Package>_<Manufacturer>_<MPN> format
  • Symbol is placed in the correct MyLib_<Function> library
  • Reference field is correct and visible
  • Value field matches symbol name and is visible
  • Footprint field points to a valid footprint and is hidden
  • Datasheet field contains a working URL and is hidden
  • Manufacturer field is filled and hidden
  • Manufacturer Part Number field is filled and hidden
  • Distributor Link 1 and Distributor 1 Part Number are filled and hidden
  • Distributor Link 2 and Distributor 2 Part Number are filled (or set to ~) and hidden
  • Footprint filters are set
  • Symbol has been visually checked in the symbol editor

7. Revision History

VersionDateNotes
1.02026-03-14Initial release