{"id":13993928,"url":"https://github.com/kitspace/kicad_footprints","last_synced_at":"2025-07-22T18:32:36.844Z","repository":{"id":44139371,"uuid":"50934482","full_name":"kitspace/kicad_footprints","owner":"kitspace","description":"A collection of all the KiCad footprints on the internet","archived":false,"fork":false,"pushed_at":"2023-01-25T15:22:30.000Z","size":428,"stargazers_count":309,"open_issues_count":4,"forks_count":46,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-04-14T11:01:21.505Z","etag":null,"topics":["electronics","kicad","kicad-footprints","pcb"],"latest_commit_sha":null,"homepage":"https://github.com/kitspace/kicad_footprints#readme","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitspace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-02T16:31:04.000Z","updated_at":"2024-04-09T23:32:30.000Z","dependencies_parsed_at":"2023-02-14T08:46:38.991Z","dependency_job_id":null,"html_url":"https://github.com/kitspace/kicad_footprints","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitspace%2Fkicad_footprints","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitspace%2Fkicad_footprints/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitspace%2Fkicad_footprints/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitspace%2Fkicad_footprints/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitspace","download_url":"https://codeload.github.com/kitspace/kicad_footprints/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227156459,"owners_count":17739306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electronics","kicad","kicad-footprints","pcb"],"created_at":"2024-08-09T14:02:37.663Z","updated_at":"2024-11-29T15:31:32.842Z","avatar_url":"https://github.com/kitspace.png","language":"Python","funding_links":[],"categories":["Python","CAD Specific"],"sub_categories":["KiCad"],"readme":"# KiCad footprint collection\n\n- This is a collection of all the KiCad footprints I know of. If you know of any more, please let me know! (Ideally by opening a pull-request or at least an issue on this repo.)\n- These footprints are regularily checked with [the Github Action workflow](.github/workflows/load_into_kicad.yml) to make sure KiCad can load them.\n- After you [register them with KiCad](#registering-with-kicad) you can use the footprint filter in the footprint assignment tool to find what you want.\n\n![](screenshot.png)\n\nThis repo uses git submodules.\nA submodule is a way of including another git repo in your repo holding it at a particular version until you want to update it.\nThis is useful as you can keep a local copy of all the libraries and only update them when you want to.\n\n## Usage\n\n### Initialization\n\n\n    git clone https://github.com/kitspace/kicad_footprints\n    cd kicad_footprints \u0026\u0026 ./init\n\nThis downloads all the libraries in parallel but it can still take a while.\n\nIf you are stuck on KiCad version 4 or version 5 can use the `kicad-4` or the `kicad-5` branch. These branches are not being updated though.\n\n#### Ignoring Modules\n\nCreate a file `ignore_modules.txt` and add a sub-string to match per line for module names to ignore. For example to ignore the official KiCad modules from this repo (since they are already included with KiCad) `ignore_modules.txt` would be:\n\n    kicad-official\n\nIf adding lines to `ignore_modules.txt` having already run `./init` then run `./deinit` to de-register the modules affected by the lines. \n\n### Updating\n\nIf you want to update all libraries to their latest versions do:\n\n    ./update\n\n_Warning: `./update` will [`git reset --hard`](http://manpages.ubuntu.com/manpages/xenial/en/man1/git-reset.1.html) the submodules so don't make changes in these folders that you want to keep. Make a separate clone of the submodule respository for that._\n\nIf you want to pull in any libraries that have been added since your initial clone:\n\n    git pull \u0026\u0026 ./init\n\n### Registering with KiCad\n\nYou can add these libraries manually through the KiCad GUI of course.\nYou could also use `generate_table` to generate an fp-lib-table, the file KiCad uses as a footprint registry, with all the footprints from this repository.\nYou can use this to replace your existing fp-lib-table.\nYou will need to restart KiCad for this change to take effect.\n\n_Warning: This will overwrite your existing fp-lib-table, discard any customization you made to it and also switch to using our copy of the \"official\" libraries included with KiCad (these are henceforth prefixed with `kicad-official/`). In our instructions below we make a backup copy of the fp-lib-table so can restore it if you need to._\n\n#### Linux\n\n    cp ~/.config/kicad/6.0/fp-lib-table ~/.config/kicad/6.0/fp-lib-table.backup\n    ./generate_table ~/.config/kicad/6.0/fp-lib-table\n\n#### Mac OS\n\n    cp ~/Library/Preferences/kicad/6.0/fp-lib-table ~/Library/Preferences/kicad/6.0/fp-lib-table.backup\n    ./generate_table ~/Library/Preferences/kicad/6.0/fp-lib-table\n\n#### Windows (using [git-bash](https://git-scm.com/download))\n\n    cp ~/AppData/Roaming/kicad/6.0/fp-lib-table ~/AppData/Roaming/kicad/6.0/fp-lib-table.backup\n    ./generate_table ~/AppData/Roaming/kicad/6.0/fp-lib-table\n\n#### Restoring original\n\nIf you don't like the new way of organizing footprint libs and want to restore your original fp-lib-table:\n\n##### Linux\n\n    cp ~/.config/kicad/6.0/fp-lib-table.backup ~/.config/kicad/6.0/fp-lib-table\n\n##### Mac OS\n\n    cp ~/Library/Preferences/kicad/6.0/fp-lib-table.backup ~/Library/Preferences/kicad/6.0/fp-lib-table\n\n##### Windows\n\n    cp ~/AppData/Roaming/kicad/6.0/fp-lib-table.backup ~/AppData/Roaming/kicad/6.0/fp-lib-table\n\n### 3D models\n\nYou can try and hack the 3D models to be correctly associated to the footprints through absolute paths by running this script:\n\n```\npython3 rewrite_3d_model_paths.py\n```\n\n- This script uses dirty regexes to re-write the paths when it finds models of the same name in the same sub-module repository.\n- It can take up to 5 minutes on my machine.\n- If you ever run `./update` you have to run `rewrite_3d_model_paths.py` again.\n\n\n### Adding submodules\n\nIf you know of any KiCad footprint repositories that have not been added please [file an issue](https://github.com/kitspace/kicad_footprints/issues) and I will add them.\n\nIf you want to maintain a private fork of this repository with some private submodules you can add them simply by:\n\n```\ngit submodule add \u003cgit url\u003e \u003cfolder\u003e\ngit commit\n```\n\nThey should work fine with the rest of the scripts once they are added.\n\n## License\n\nAny scripts in this repository are MIT licensed. All the footprints have their own licenses of course.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitspace%2Fkicad_footprints","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitspace%2Fkicad_footprints","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitspace%2Fkicad_footprints/lists"}