This project is a demo of CI/CD for KiCad
Automate the following tasks:
- ERC and DRC checks
- PDF versions of the schematic and PCB for documentation
- Generation of fabrication files (BoMs, gerbers, drill, position, 3D model, etc.)
To automate the process here we use:
- KiBot to generate gerbers, drill, position files and BoMs (HTML, XLSX and CSV)
- kicad-automation-scripts to run DRC/ERC, print schematics and PCB
- InteractiveHtmlBom to generate interactive HTML BoMs
- PcbDraw to generate the PCB previews using different colors
- Docker to integrate KiCad and all the tools in a single package suitable for CI/CD pipelines
- GitHub CI/CD pipeline mechanism
The docker image can be found here
As a testbed we are using the Spora project. It contains three separated boards:
- pcb_io is the I/O module. 2 layers
- pcb_main is the main module. 6 layers.
- pcb_prog is the programmer interface. 2 layers.
The pipeline we test here runs 3 workflows, one for each PCB. Each workflow runs 4 jobs:
- ERC: Runs the Electrical Rules Check (schematic test).
- Schematic fabrication files: Generates all the outputs related to the schematic. Runs only if the ERC was successful.
- DRC: Runs the Design Rules Check (PCB test). Runs only if the ERC was successful.
- PCB fabrication files: Generates all the outputs related to the PCB. Runs only if the DRC was successful.
When a commit affects any of the schematics, PCBs or the associated Makefiles the workflow is started.
The configuration for the workflows can be found here: .github/workflows/
To get the generated outputs you must enter in one of the workflows, here is an example.
Use the Actions
option at the top of the page.
The summary of each workflow contains the generated files in a compressed ZIP. In the GitHub dialect these are the artifacts. Here are links to the run #5 (2021-02-12):
- Main board:
- I/O board:
- Programmer board:
The KiBot configuration files are:
We also generate gerbers and drill files for some common manufacturers using the configurations found here
BUILD AWESOME WEARABLES
Open hardware platform for wearables.
Lots of sensors ready to use, program and expand at ease. All packed in an incredible small size. More info at Spora web page.
Final release in Spora repo