KiCad plugin for mechanical keyboard design. It features automatic key placement based on popular layout description from keyboard-layout-editor
All PCB's for mechanical keyboards shares common properties which creates great opportunity for scripting. Although this project does not aim to provide complete automatic PCB generation tool it speeds up development process by reducing tidiuos element placement task.
- Automatic keys and diodes placement
- Support for different annotation schemes
- Basic track routing
- Key rotation support
- User selectable diode position in relation to key position
- Clone this repository
- Copy
keyautoplace.py
(or create symbolic link) to one of the KiCad's plugin search locations. For details see kicad documentation - Open KiCad's Pcbnew, run
Tools->External Plugins...->Refresh Plugins
. KeyAutoPlace plugin should appear in plugin list.
-
Create new PCB and load netlist
-
Obtain kle-serial compatible layout json file (note: this is not json which can be downloaded directly from keyboard-layout-editor website. Expected json format can be seen in
examples
directory.For conversion you can use https://adamws.github.io/kle-serial or keyboard-tools.xyz/kle-converter
-
Run KeyAutoPlace plugin
-
Select desired json file and click OK.
This plugin is part of my another project. See keyboard-tools
- See stacktrace
- See created
keyautoplace.log
file (in PCB directory)
- Tested only with SOD-323F diodes. Predefined diode location might not be suitable for larger footprints and custom location is not supported without code modification
- Tested only with KiCad version 5.1.5