
Good project
productize/kicad-automation-scripts
A bunch of scripts to automate KiCad processes

A bunch of scripts to automate KiCad processes
Warning project is an open-source printed circuit board by productize, from the productize/kicad-automation-scripts repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 14 × 9 mm with 3 parts on 4 nets, routed with 3 tracks and 0 vias.
Its parts include 1 resistor, 1 diode and 1 connector.
A bunch of scripts to automate KiCad processes using a combination of the PCBNew Python library and UI automation with xdotool.
This work is based in big parts on Scott Bezek's scripts in his split-flap display project. For more info see his excellent blog posts.
Currently tested and working:
This repository has a branch per supported major KiCad version, prefixed with
kicad-. Note that installation instructions and supported features can be
different per version.
The master branch and latest Docker tag will always be the latest supported stable KiCad version.
Build and run the docker image:
docker build -t kicad-automation-scripts .
docker run --rm -it -v <path to a kicad project>:/kicad-project kicad-automation-scriptsOr fetch it from Dockerhub:
docker run --rm -it -v <path to a kicad project>:/kicad-project productize/kicad-automation-scriptsIf you want to use these scripts directly on your system, you should be able to get it to work by installing the folowing dependencies:
This tool has the following dependencies:
The Python dependencies (excluding KiCad) are listed in [eeschema/requirements.txt][eeschema/requirements.txt] and can be installed with
pip install -r eeschema/requirements.txtsudo apt-get install -y kicad python python-pip xvfb recordmydesktop xdotool xclipIn the Docker image or on a system with all required dependencies installed you can use the following commands:
python -m kicad-automation.eeschema.schematic run_erc /kicad-project/<some-schematic>.sch <build_dir>Add the flag --warnings_as_errors to make all warnings also return an error code of 1.
python -m kicad-automation.eeschema.schematic export /kicad-project/<some-schematic>.sch <build_dir> <svg or pdf> <all-pages (True or False)>python -m kicad-automation.pcbnew_automation.run_drc /kicad-project/<some-layout>.kicad_pcb <build_dir>python -m kicad-automation.pcbnew_automation.plot /kicad-project/<some-layout>.kicad_pcb <plot_dir> [<layers to plot>]python -m kicad-automation.pcbnew_automation.plot -f pdf /kicad-project/<some-layout>.kicad_pcb <plot_dir> [<layers to plot>]If you want to test the scripts in this repository and run them inside a docker image, the base image can be used. This base image contains all the required dependencies and the required environment for the script to work.
To build and run the base image:
docker build -f Dockerfile-base -t kicad-automation-base .
docker run --rm -it -v <path to a kicad project>/kicad-project -v `pwd`/src:/usr/lib/python2.7/dist-packages/kicad-automation kicad-automation-baseOr fetch it from Dockerhub:
docker run --rm -it -v <path to a kicad project>:/kicad-project -v `pwd`/src:/usr/lib/python2.7/dist-packages/kicad-automation productize/kicad-automation-baseThe scripts can now be used the same way as in the main image, but changes on the host will automatically be reflected on the container (though note that Python does not autoreload libraries).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 330 | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J1 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D1 |

productize/kicad-automation-scripts
A bunch of scripts to automate KiCad processes


hzeller/rpi-rgb-led-matrix
Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO


atopile/atopile
Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️




hackclub/sprig
🍃 Learn to code by making games in a JavaScript web-based game editor.
It measures 14 × 9 mm and has 2 copper layers, 1.6 mm thick.
3 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the productize/kicad-automation-scripts repository on GitHub, at the commit this page was made from: the board is test-projects/warning-project/warning-project.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).