This is the central base template for starting any new hardware board project at Purdue ROV.
To ensure your local library is always 100% up-to-date with new parts added by teammates without ever needing to run manual Git commands:
- Windows: Double-click
LAUNCH_KICAD.batin your project folder. - Mac / Linux: Double-click
LAUNCH_KICAD.sh(or run./LAUNCH_KICAD.shin terminal).
- Auto-Fetches Central Library Parts (0.5 seconds): Silently connects to
purdue-rov-kicad-libon GitHub and pulls any new symbols, footprints, or 3D models added by teammates while you were away. - Eliminates Missing Symbol Question Marks: Guarantees you never open KiCad with outdated or missing component definitions.
- Launches KiCad: Immediately opens your
.kicad_proproject in KiCad.
Even if you are working solo on your board repository and rarely run git pull, your central component library stays updated automatically through 3 layers of protection:
- 🚀 On KiCad Launch (
LAUNCH_KICAD.bat): Pulls the latest library symbols & footprints before opening your project. - 🔄 On Git Commit (
.githooks/pre-commit): Automatically fetches latest library commits right before completing any commit, updating your project's submodule pointer automatically. - ☁️ In GitHub Cloud (
auto-update-submodule.yml): GitHub Actions automatically syncs the library submodule on daily schedule or whenever new library parts are published.
- Click the "Use this template" button at the top of the GitHub repository.
- Name your new repository (e.g.,
thruster-control-board) and click Create repository. - Clone your repository locally using the recursive flag:
git clone --recursive https://github.com/purduerov/YOUR-BOARD-REPO.git
[!TIP] Forgot
--recursiveor seeing missing symbol question marks? Run:git submodule update --init --recursive
- Configure local Git clean filters and auto-sync hooks:
- Windows (PowerShell):
.\setup_git_filters.ps1 - Linux / macOS:
./setup_git_filters.sh
- Windows (PowerShell):
Test your board locally with a single command to generate outputs inside Docker:
- Windows:
.\run_validation.ps1 - Linux / macOS:
./run_validation.sh
Outputs generate in Generated_Outputs/ (Schematic PDF, Interactive BOM, Gerbers).
To add a new component downloaded online (SnapEDA, DigiKey, Ultra Librarian, LCSC, etc.):
- Open
libs/purdue-rov-kicad-liband double-clickIMPORT_PART_WIZARD.bat(orIMPORT_PART_WIZARD.sh). - Use the 1-Click Desktop GUI / Downloads Watcher to import, validate, and push to master!