Skip to content

This is a CI/CD test for KiCad using KiBot and other tools. As example we took the Spora project and applied the concepts.

License

Notifications You must be signed in to change notification settings

INTI-CMNB/kicad-ci-test-spora

Repository files navigation

KiCad CI/CD test using Spora

KiCad CI/CD for Spora main board KiCad CI/CD for Spora I/O KiCad CI/CD for Spora programmer

This project is a demo of CI/CD for KiCad

Objetive

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.)

Tools used

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

Test project

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.

Here is what we test

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.

Here is what we get

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):

The KiBot configuration

The KiBot configuration files are:

We also generate gerbers and drill files for some common manufacturers using the configurations found here

Original Spora README

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

About

This is a CI/CD test for KiCad using KiBot and other tools. As example we took the Spora project and applied the concepts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published