KiBot is a Python script that can be used to automate the generation of fabrication (gerbers, drill, etc.) and documentation (BoM, PDF, SVGs, 3D model, etc.) files.
In addition it can run the DRC and ERC automatically.
It can be integrated to CI/CD workflows.
The script uses other scripts to achieve some of the functionality.
Currently you can:
- Run the ERC
- Ensure the XML file used by KiBoM is updated
- Generate the BoM (using KiBoM or an enhanced version of it that is part of KiBot)
- Print the schematic to a PDF
- Run the DRC
- Ensure all zones are refilled.
- Generate the gerbers (and all the other formats of the Plot menu SVG, DXF, HPGL, etc.)
- Generate the drill files (both excellon and gerber format supported, including the PDF maps)
- Generate the position files
- Print selected layers to a PDF (what you get from the Print menu)
- Export the 3D STEP for the PCB
- Generate images of how the PCB will look using different solder mask colors (using PcbDraw)
- Generate an interactive mounting BoM in HTML (using InteractiveHtmlBom)
The last release (v0.7.0) implements assembly variants, allowing:
- Mark not fitted components with a cross in the schematic
- Mark not fitted components with a cross in the *.Fab layers of the PCB
- Remove solder paste from not fitted components
- Remove adhesive glue from not fitted components
- Exclude components from the BoM (also mark them as DNF and/or DNC (Do Not Change))
- Exclude components from the interactive BoM
- Remove not fitted components from the STEP file
- Exclude components from the position (pick & place) file
All the output files are generated by plug-ins, so the script can be enhanced without needing to know all the internal details.
Currently two mechanisms are supported to specify variants: KiBoM and IBoM styles. But this is also implemented as plug-ins, so more styles can be added.
For more information about variants visit the demo repo
Currently you can run it on Linux and on CI/CD workflows like GitHub (docker files containing KiCad and all the supporting scripts are available).
I’m looking for collaborators to support Windows, MacOSX and the upcoming KiCad v6 details.