• Stars
    star
    162
  • Rank 232,284 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created about 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

KiCAD libraries, footprints, and scripts

@adamgreig's KiCAD Library

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: Build Status

Schematic Symbols

To use, add relevant .kicad_sym files to your project libraries. There is one .kicad_sym file per symbol.

Alternatively add agg-kicad.kicad_sym from the root directory, which includes all symbols. This file is built using scripts/compile_lib.py and 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 .yaml files in the relevant directories, using the build-lib-ic.py script. 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.

PCB Footprints

To use, add agg.pretty to your project libraries, with nickname agg recommended 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.py and build-mod-ic.py scripts, 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

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.

Scripts

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 pyyaml or similar.

Makefile

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 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 check and make verify and reports the resulting status as the build status: Build Status

Additionally in scripts/ is pre-commit that stops any commits that do not pass make check and make build-verify, and post-commit that runs make compile-verify and if any compiled files are not up to date, recompiles them and commits the result. Copy these to .git/hooks for use.

Licence

All content licensed under the MIT licence. See LICENSE.

More Repositories

1

ffp

iCE40 FPGA, SPI flash, and CMSIS-DAP SWD programmer
Rust
68
star
2

daqnet

Python
63
star
3

ecpdap

ECPDAP allows you to program ECP5 FPGAs and attached SPI flash using CMSIS-DAP probes in JTAG mode.
Rust
59
star
4

labrador-ldpc

LDPC encoding and decoding for Labrador
Rust
35
star
5

stm32ral

Register access layer in Rust for all STM32 microcontrollers
Rust
34
star
6

assign-resources

Rust macro to split up fields of a Peripherals struct into new structs
Rust
30
star
7

STM32_SkeletonProject

A bare-bones project directory for an STM32. Includes the ST libraries, bootloader code, etc.
C
28
star
8

sdr-rs

SDR DSP for Rust
Rust
25
star
9

stm32f4-demo

Simple getting-started demonstration of running Rust on an STM32F4
Rust
22
star
10

amaranth-examples

Some assorted examples of nmigen designs
Python
17
star
11

followingrobot

C/ASM code for an ARM-based robot with a vision system to follow the user
C
16
star
12

stm32tt

STM32 Tips and Tricks
CSS
13
star
13

rtlsdr-rs

Rust
13
star
14

walkclock-public

Rust
11
star
15

jtagdap

Arbitrary JTAG access via CMSIS-DAP compatible probes
Rust
11
star
16

stm32f4-smoltcp

Rust
9
star
17

labrador-ldpc-c

Old C verison of Labrador-LDPC
C
8
star
18

stm32f4-smoltcp-demo

Rust
7
star
19

rv-playground

Python
7
star
20

ral-registers

Rust MMIO abstraction using a macro-based API
Rust
6
star
21

d1rgb

Rust
6
star
22

STM32_ChibiOSProject

A skeleton STM32 ChibiOS project
C
6
star
23

bladerf-vna

Poor man's VNA with a BladeRF
C
5
star
24

adf7012_dev

C
5
star
25

momobot

An IRC bot written in Python
Python
5
star
26

minimoc

A small brushless DC motor controller
C
5
star
27

hackrf-rs

Rust bindings for libhackrf
Rust
5
star
28

spidap

Access SPI flash memories using CMSIS-DAP compatible probes in JTAG mode
Rust
5
star
29

arduino_tetris

Play Tetris on an Arduino, using a 128x96 colour LCD and four buttons
4
star
30

Pyph

Python web-based basic photo editor
JavaScript
4
star
31

icepill

iCE40UP5K shield for STM32 Black Pill
4
star
32

wombat

C
4
star
33

partyline

Twilio/Heroku app to connect up party members
Python
4
star
34

svf

Rust SVF parser
Rust
4
star
35

graphgit

make a graphviz graph of a git repository
Python
4
star
36

cl

Python
4
star
37

ukhasnet-parser

Rust
4
star
38

cusf-burst-calc

JavaScript
4
star
39

dual-core-demo

Quick and dirty demo of using the second core on an STM32H7 in Rust
Rust
4
star
40

tt02-adc-dac

Python
3
star
41

UART

A UART in Verilog
Verilog
3
star
42

profiler

Rust
3
star
43

RCControl

C++
3
star
44

M2Crypto

Python
3
star
45

bikedar

KiCad Layout
3
star
46

TrendStream

Show a stream of trending Twitter topics
Python
3
star
47

airspy-rs

libairspy bindings for Rust
Rust
3
star
48

AMPly

An Open Source Modular Audio Amplifier
Prolog
3
star
49

stm32ral-example

Rust
3
star
50

jsonschema-explorer

A simple JS app to visualise a JSON schema
CoffeeScript
3
star
51

ukhasnet-influxdb

Rust
2
star
52

SelWX

A weather station
Python
2
star
53

basebandboard

Rust
2
star
54

spi-flash-rs

SPI flash interface for std Rust programs
Rust
2
star
55

tinytapeout-prn

Verilog
2
star
56

logic_adapters

PCBs to connect logic analysers to other connectors
2
star
57

atw

around the world
JavaScript
2
star
58

amp

KiCad Layout
2
star
59

cortex-m-asm

Rust
2
star
60

yuletronics

Python
2
star
61

sheepdog

Shepherd GridEngine
Python
2
star
62

nixieclock

AVR C code for a NIXIE tube clock
C
2
star
63

hs-case

1
star
64

asfmrs

Airspy NBFM Receiver in Rust
Rust
1
star
65

mqtt2influx

Receive MQTT messages from a Glow IHD and store them in InfluxDB.
Rust
1
star
66

ecppll

Python
1
star
67

smdboard

KiCad Layout
1
star
68

saltbot

IRC bot to manage Salt deployments
Python
1
star
69

drhouse

Python
1
star
70

Robot3

C
1
star
71

mumrs

Python
1
star
72

spurtalert

Arduino
1
star
73

rearrange_mp3

copy mp3s from one folder to another into a new directory structure based on id3 tags
Python
1
star
74

smscal

Send a text message with today's calendar
Python
1
star
75

IDP

IDP 2011 Team L108 Software
C
1
star
76

pyautopull

flask web app, listen on a url, when hit by github hook run a command (such as git pull)
Python
1
star
77

iot

irc over twitter. what a terrible idea
Python
1
star
78

manage.py

manage various server bits and pieces
Python
1
star
79

Robot4

C
1
star
80

ledeaf

Rust
1
star
81

Journal

A simple Python web journalling application
Python
1
star
82

dotvim

my .vim folder including .vimrc
Vim Script
1
star
83

amp_flashprog

SPI flash programming firmware for AMP
Rust
1
star
84

idthree2ipod_coverart

Load all songs in an iPod and set the embedded ID3 image as their iPod coverart
Python
1
star
85

radtel

Radio Telemtry Unit - KiCAD Training Workshop PCB
KiCad Layout
1
star
86

rigchip

KiCad Layout
1
star
87

radar

C
1
star
88

linetime

KiCad Layout
1
star
89

isatracker

Track ISAs
Python
1
star
90

Maple_Microphone

1
star