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 satanNote 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 |