KiCad text injector

License: GPL-3.0-or-later REUSE status crates.io Docs dependency status Build status

This tool allows you to post-process your KiCad PCB files, by replacing variables of the type ${NAME} in your text elements.

You may put placeholder text onto your PCB - for example ${PROJECT_REPO_URL} - on any layer, and this tool then fills in the actual value, for example https://github.com/myorg/myproj. This is most useful for filling in project-specific meta-data into the final output, and thus this tool is primarily targeting CI jobs, though it can also be run locally.

How to compile

You need to install Rust(lang) and Cargo.

Then you can run:

bash scripts/build

Get the tool

As for now, you have two choices:

  1. Compile it yourself
  2. Download the Linux x86_64 staticially linked binary from the releases page

Usage

``bash $ kicad-text-injector --help Given a KiCad PCB file (*.kicad_pcb) as input, replaces variables of the type${KEY}` within text fields with their respective value.

USAGE: kicad-text-injector [FLAGS] [OPTIONS] --input --output

FLAGS: -e, --env use environment variables for substitution in the text -f, --fail-on-missing-values fail if no value is available for a variable key found in the input text -h, --help Prints help information -v, --verbose more verbose output (useful for debugging) -V, --version Prints version information

OPTIONS: -i, --input the input file to use; '-' for stdin [default: -] -o, --output the output file to use; '-' for stdout [default: -] -D, --variable ... a variable key-value pair to be used for substitution in the text ```

Misc

We very warmly recommend you to use the KiBot tool for the actual generation of the final output from the post-processed KiCad sources. It can generate much more then just Gerbers and 2D renders of the PCBs.

Also see the KiCad image/QRCode injector.