Skip to content
play

GitHub Action

kicad render pcb

v0.1 Latest version

kicad render pcb

play

kicad render pcb

Render KiCad PCBs top, bottom optionally render and gif or mp4 of the PCB rotating

Installation

Copy and paste the following snippet into your .yml file.

              

- name: kicad render pcb

uses: linalinn/[email protected]

Learn more about this action in linalinn/kicad-render

Choose a version

kicad render action

KiCad render  - for gitlab

This action allows you to automatically render Images of your PCB and use them e.g. in a README.md

current state

This is using Kicad nightly since there is yet no Kicad release containing the image rendering command in the CLI.

Usage

  1. Create the directory .github/workflows if it does not already exist.

  2. Add a new yaml in that directory e.g. pcb_image.yaml

  3. Adding the configuration. Set the path to your .kicad_pcb file (you may need to replace 'refs/heads/main' with 'refs/heads/master' on older repos)

    name: pcb_image
    on:
      push:
    jobs:
      render-image:
        name: render-image
        runs-on: ubuntu-latest
        steps:
          - name: Check out the repo
            uses: actions/checkout@v4
    
          - name: render pcb image
            uses: linalinn/kicad-render@main
            with:
            pcb_file: <path from repo root to .kicad_pcb>
            output_path: ${{ github.workspace }}/images
            
          - name: Setup Pages
            if: github.ref == 'refs/heads/main'
            uses: actions/configure-pages@v3
    
          - name: Upload Artifact
            if: github.ref == 'refs/heads/main'
            uses: actions/upload-pages-artifact@v1
            with:
            path: "images"
    
      deploy-pages:
        if: github.ref == 'refs/heads/main'
        runs-on: ubuntu-latest
        needs: render-image
          
        permissions:
          pages: write
          id-token: write
    
        environment:
          name: github-pages
          url: ${{ steps.deployment.outputs.page_url }}
    
        steps:
          - name: Deploy to GitHub Pages
            id: deployment
            uses: actions/deploy-pages@v2
  4. Adding the images to an README.md

    # My first PCB with automatic image generation
    
    ### Images
    ![top](<github_username>.github.io/<repo_name>/top.png)
    ![bottom](<github_username>.github.io/<repo_name>/bottom.png)
  5. Prepare the repo

    • Open your repo on GitHub
    • Open Setting
    • (Left side) Click on Pages
    • Under Build and deployment select for Source Github Action from the dropdown.
  6. git commit and push

Example

You can find a example here in the m2sdr and the workflow for it here

Animation original code

The code for the Animation is from arturo182
Mastdon post with Gif and link to gist

Development

In this repo, you find an .devcontainer folder. This is for making Development and testing easier by not having to install kicad-nightly on your system. Dev containers are supported by Visual Studio Code, JetBrains, and Github. Alternatively, you can run the following docker command in the repository root docker run -v "$(pwd)":/pwd --workdir=/pwd --rm -it ghcr.io/linalinn/kicad:nightly-2024-04-09-13-16 bash and run kicad nightly from inside this container.