Skip to content

Repository files navigation

American Embedded KiCad Repository

Build PCM Repository

Production-focused KiCad libraries and color themes from American Embedded, delivered through KiCad's Plugin and Content Manager (PCM).

Add the repository to KiCad

  1. Open Plugin and Content Manager in KiCad.

  2. Select Manage Repositories, then Add Repository.

  3. Paste this URL:

    https://raw.githubusercontent.com/American-Embedded/American_Embedded_KiCad_Repository/main/repository.json
    
  4. Refresh the package list and install the packages you want.

Packages

Package Type What it contains
American Embedded Library Library Design blocks and footprints
American Embedded Dark Theme High-contrast dark colors
American Embedded Light Theme Balanced colors for bright rooms

Exposed-substrate mounting holes

Exposed-substrate mounting-hole family

The amemb-MountingHole library contains 60 generated NPTH footprints. It covers all 20 mounting-hole sizes in the pinned KiCad generator, each offered in three layouts.

Variant Intended placement Geometry
Center Inside the board Circular opening around the hole
Edge Against one board edge Opening extends 5 mm toward +X
Corner At a corner Extends 5 mm toward +X and +Y

Rotate Edge and Corner footprints so their positive axis points outside the finished board. Every variant provides:

  • a non-plated mechanical hole;
  • matching top and bottom solder-mask openings; and
  • an all-layer copper exclusion extending 0.2 mm beyond the mask-opening boundary.

The YAML definition is the source of truth. Generated .kicad_mod files are committed so KiCad can use the package directly. CI regenerates and compares them on every pull request and every push to main.

Local development

Clone the repository with its pinned KiCad tooling:

git clone --recurse-submodules \
  https://github.com/American-Embedded/American_Embedded_KiCad_Repository.git
cd American_Embedded_KiCad_Repository

Create the development environment with uv:

uv venv --python 3.13
uv pip install --python .venv/bin/python \
  -e ./kicad-footprint-generator \
  jsonschema \
  Pillow

Regenerate the complete mounting-hole family:

.venv/bin/python scripts/generate_exposed_substrate_mounting_holes.py

The script has repository-aware defaults. Run --help to override the definition, output, or generator checkout paths.

Build the PCM repository locally:

repository="American-Embedded/American_Embedded_KiCad_Repository"
github_root="https://github.com/${repository}"
raw_root="https://raw.githubusercontent.com/${repository}/main"

.venv/bin/python scripts/build_repository.py \
  --repo-root . \
  --output-dir output \
  --base-url "${github_root}/releases/download/local" \
  --metadata-url "${raw_root}" \
  --create-icons

Continuous integration

The GitHub Actions workflow performs the same reproducible path used locally:

  1. checks out the pinned generator and library-utils submodules;
  2. generates all 60 mounting-hole footprints;
  3. fails if generated output differs from the committed library;
  4. runs the KiCad Library Convention checker with documented exceptions;
  5. builds every PCM package; and
  6. publishes package ZIPs and refreshed repository metadata from main.

Repository layout

.
├── .github/workflows/                 # Generation, validation, and PCM release
├── packages/
│   ├── library/american-embedded-library/
│   │   ├── definitions/               # Parametric source definitions
│   │   ├── footprints/                # Generated KiCad footprint libraries
│   │   ├── libmanagement/             # Reusable design blocks
│   │   └── metadata.json
│   └── themes/                         # American Embedded color themes
├── scripts/
│   ├── build_repository.py             # PCM packager and metadata builder
│   └── generate_exposed_substrate_mounting_holes.py
├── kicad-footprint-generator/          # Pinned upstream generator submodule
├── kicad-library-utils/                # Pinned upstream validation submodule
├── repository.json                     # Published PCM index
├── packages.json                       # Published package metadata
└── resources.zip                       # Published PCM icons

Licensing and contact

About

No description, website, or topics provided.

Resources

Stars

39 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages