KiCAD libraries, footprints, and scripts
This repository contains my collection of KiCAD symbols, footprints, and related files.
Every symbol and footprint is very carefully checked against either the relevant standard (generally IPC-7351B) or specific manufacturer footprints. Many are procedurally generated from a simple set of dimensions, which ensures consistency and correctness. My objective is to have a useful collection of correct parts that all look consistent and work well together.
I encourage other people to use these parts; they're all licensed under a permissive MIT licence and it's easy to simply copy one or two files from the repository, or submodule the entire repo.
Contributions are also very welcome; please open a pull request and I will carefully review the proposed additions. All contributions are likewise licensed under the MIT licence.
A number of automatic rules are checked against every footprint and symbol on
each commit by the build system. The current status is:
To use, add relevant
.libfiles to your project libraries. There is one
.libfile per symbol.
Alternatively add
agg-kicad.libfrom the root directory, which includes all symbols. This file is built using
scripts/compile_lib.pyand kept up-to-date automatically.
Each part contains supplier order codes and manufacturer part numbers where possible and sensible. Parts are drawn as per the conventions in
lib/README.md, based on the KiCAD project conventions.
Symbols for many ICs and other "black-box" parts are drawn automatically from
.yamlfiles in the relevant directories, using the
build-lib-ic.pyscript. Check some of these out for an example of the syntax etc.
Check the README in each library folder for details and notes on each part.
To use, add
agg.prettyto your project libraries, with nickname
aggrecommended for compatibility with the schematic symbols.
Where possible footprints are based on the appropriate standards and follow the conventions in
agg.pretty/README.md, based on the KiCAD project conventions.
Many footprints for 2-terminal chip devices and 2- or 4- row SMD ICs are automatically generated using the
build-mod-chip.pyand
build-mod-ic.pyscripts, which contain the parametric specifications for all the footprints they should build. This includes things like 0402 resistors, DFN and QFP ICs, and similar sorts of footprints.
StickerBOM is a script to convert your BOM into a PDF to print onto sticker labels, one label per BOM item. The labels have a drawing of the PCB to show you where that item goes, which makes hand assembly a lot nicer!
Check the wiki page for more information on StickerBOM.
See the README in the scripts folder for detailed information on each script.
The only requirement is PyYAML for some of the build scripts:
sudo pip install pyyamlor similar.
You can use the Makefile to: * Rebuild all built-from-parameter files with
make build* Just libraries with
make build-libs* Just modules (footprints) with
make build-mods* Verify all built-from-parameter files are up-to-date with
make build-verify* Recompile all compiled outputs (the combined
.liband the
.pro) with
make compile* Verify all compiled outputs are up-to-date with
make compile-verify* Verify both built and compiled outputs with
make verify* Check all files against rules with
make check* Just libraries with
make check-lib* Just modules with
make check-mod
Travis-CI is configured to run
make checkand
make verifyand reports the resulting status as the build status:
Additionally in
scripts/is
pre-committhat stops any commits that do not pass
make checkand
make build-verify, and
post-committhat runs
make compile-verifyand if any compiled files are not up to date, recompiles them and commits the result. Copy these to
.git/hooksfor use.
All content licensed under the MIT licence. See
LICENSE.