Skip to content

About

Shared KiCad symbols, footprints, 3D models, and mechanical parts for the OpenMuscle ecosystem

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

OpenMuscle Library

Shared KiCad and CAD assets for the OpenMuscle ecosystem: schematic symbols, PCB footprints, 3D models, and mechanical parts reused across FlexGrid, LASK5, and other devices.

The goal is one canonical home for parts, so a new board reuses the ESP32-S3, the ICM-42688-P IMU, the USB connector, the charging circuit, and the flex sensor footprint instead of copying them from the last project.

Part of the OpenMuscle Hub ecosystem. See the architecture and repo layout.


Layout

symbols/
  OpenMuscle.kicad_sym    original OpenMuscle symbols
  vendor/                 manufacturer / SnapEDA symbols (third-party licensing)
footprints/
  OpenMuscle.pretty/      original OpenMuscle footprints
  vendor/                 third-party footprint libraries
3dmodels/                 KiCad 3D models referenced by footprints (.step, .wrl)
mechanical/               original CAD parts for assemblies (.step, .stl)
datasheets/               optional vendor datasheets (.pdf)

Original OpenMuscle parts and third-party (vendor) parts are kept separate so licensing stays clear. See Licensing.

Large files (Git LFS)

Binary CAD assets (.step, .stp, .wrl, .stl, .pdf) are stored with Git LFS. Install it once before cloning or committing:

git lfs install
git clone https://github.com/Open-Muscle/OpenMuscle-Library.git

If you cloned before installing LFS, run git lfs pull to fetch the binaries. The tracking rules live in .gitattributes; new binary types should be added there.

Using the library in a KiCad project

Projects reference this library through a single environment variable, OM_LIB, so every board points at the same canonical parts.

1. Set the OM_LIB environment variable

In KiCad: Preferences > Configure Paths, add a path variable named OM_LIB pointing at your clone of this repo, for example:

Name Path
OM_LIB D:\path\to\OpenMuscle-Library

2. Register the libraries (global tables)

In Preferences > Manage Symbol Libraries (Global) add the symbol libraries, and in Preferences > Manage Footprint Libraries (Global) add the footprint libraries, using ${OM_LIB} in the path. Ready-made table rows are provided:

You can copy these rows into your KiCad global tables, or merge the files directly if you do not already have global entries.

3. Reproducing an old board

Daily work tracks the tip of main. When a board is sent to fab, tag the library at that point (for example flexgrid-v4-tapeout) so the exact parts used are recoverable later:

git tag flexgrid-v4-tapeout
git push origin flexgrid-v4-tapeout

To rebuild that board exactly, check out the tag.

Adding a part

  1. Put original symbols in symbols/OpenMuscle.kicad_sym, original footprints in footprints/OpenMuscle.pretty/.
  2. Put vendor parts under the matching vendor/ folder and note the source and license in NOTICE.md.
  3. Place 3D models in 3dmodels/ and reference them from the footprint with a ${OM_LIB}/3dmodels/... path so the link resolves on any machine.
  4. Commit. Binary models are handled by Git LFS automatically.

Licensing

Original OpenMuscle parts in this repo are licensed under CC BY 4.0 (see LICENSE), chosen so the parts drop cleanly into any project with attribution.

Third-party parts under vendor/ folders retain their original licenses from the manufacturer or source. Those are listed in NOTICE.md. When you add a vendor part, add its attribution there.

About

Shared KiCad symbols, footprints, 3D models, and mechanical parts for the OpenMuscle ecosystem

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors