Collection of generated keyboard PCBs based on via layouts.
🔗 Visit https://adamws.github.io/keyboard-pcbs to view results.
Warning
This is a showcase/benchmark of kicad-kbplacer plugin. All of the KiCad files are automatically generated and may contain errors. These are not production ready PCBs.
The procedure of generating keyboard-pcbs
website is split into two stages
which can be repeated locally using builder docker image.
-
Download all layouts from via repository and generate KiCad schematic and PCB file for each one.
$ docker run --rm -v $(pwd):/work \ ghcr.io/adamws/keyboard-pcbs-maker:latest python via_layouts_to_boards.py generate
-
Collect results from first stage and create static website to be deployed
$ docker run --rm -v $(pwd):/work \ ghcr.io/adamws/keyboard-pcbs-maker:latest python via_layouts_to_boards.py collect
Warning
This takes long time and is resource consuming. It runs on schedule using Github Actions.
To see results, go to output directory and start http server with python:
$ cd gh-pages
$ python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
If you want to run this for single layout file, call kbplacer-generate.sh
directly.
For example, navigate to directory with .json
layout and run:
$ cd src/gh60/satan
$ ls
satan.json
$ docker run --rm -v $(pwd):/work \
ghcr.io/adamws/keyboard-pcbs-maker:latest kbplacer-generate.sh /work satan
Note that second argument passed to kbplacer-generate.sh
does not contain file extension.
When container finish, current directory should contain following files:
$ ls
satan.json satan-layout.svg satan-schematic.svg
satan-kle.json satan-render.svg satan.zip
$ unzip satan.zip
Archive: satan.zip
inflating: satan.kicad_pro
inflating: satan.kicad_sch
inflating: satan.kicad_pcb
inflating: satan.net
satan-layout.svg |
---|
satan-layout.svg | satan-render.svg |
---|---|
open in new window | open in new window |