KiCad: only EmbeddedEra libraries¶
Every symbol, footprint and 3D model a design uses comes from the EmbeddedEra KiCad library (repo EmbeddedEra/KiCad, ~/kicad-lib): symbols from symbols/EmbeddedEra*.kicad_sym, footprints from footprints/EmbeddedEra_Library.pretty, 3D models from 3dmodels/. Nothing placed or proposed may point at KiCad's stock libraries (Device:, Resistor_SMD:, ${KICAD*_3DMODEL_DIR} …) or any other third-party library.
- Every footprint has a 3D model, also in the EmbeddedEra library, except footprint-only board features (programming pads, test points, mounting holes, solder jumpers), which have none on purpose.
- Need a stock KiCad part? Migrate it: copy the symbol, footprint and STEP model into the EmbeddedEra library, rename, point the ERP part's Symbol/Footprint at the copy. KiCad's libraries are CC-BY-SA 4.0 with a design exception; keep their attribution line in the copied item's description or a
docs/credits file. - Owner repeated 2026-10-29 (Garage_Door_Adapter): "we always want to use EmbeddedEra footprints and libraries, and if they are not there, we need to create them." Missing footprint or 3D model → create it in the EmbeddedEra library in the same session (stock KiCad copy with credit, or generate one:
scripting/gen_*_model.pywith freecadcmd), before the part is used. Runkicad-checkon a library branch before every commit there, not only at the master push. -
Enforced by checks, not memory: the library check and the ERP audit fail on any non-EmbeddedEra reference or a missing model. Since 2026-10-29 also at every commit on any branch or worktree:
~/kicad-lib/.git/hooks/pre-commitruns~/.local/bin/kicad-own-libs-precommit(kicad-check's own-library rules, limited to the staged files) and refuses the commit. Not versioned, like the pre-push gate; reinstall on a new server clone withprintf '#!/bin/sh\nexec "$HOME/.local/bin/kicad-own-libs-precommit"\n' > .git/hooks/pre-commit. -
No third-party company libraries (e.g. a former employer's) — 2026-10-06. Nothing from another company's library lives in the repo or its history; where a design used one, it was repointed to an EmbeddedEra footprint derived from KiCad stock, or reported for redraw.
-
One exception: Hellen-One modules — 2026-10-13. Boards built on rusEFI's Hellen-One platform (rusefi-sti-2004) keep the module symbols and footprints (
hellen-one-<module>-<rev>:Module-*) from the hellen-one library. The Hellen board generator recognises modules by their Value and pulls each module's gerbers and BOM from its own repo, and hellen-one publishes no licence, so we do not copy those drawings. Every other part on those boards (passives, connectors, drivers, fuses, power symbols, pads) comes from the EmbeddedEra library like any other design.
Why: the owner wants to control everything a board is built from, so a KiCad update or a third-party change can never alter a design, and every part renders in 3D.
Related: KiCad, kicad-erp-library-plan, kicad-symbol-fields, SOP-008.