# kinesis_stapelberg keyboard firmware This folder contains the firmware customization required to run QMK on the custom controller for the Kinesis Advantage created by Michael Stapelberg. It differs from the `alvicstep keyboard in that the existing QMK Kinesis Advantage project uses the existing controller board provided by Kinesis. The controller board hardware is described [here](http://michael.stapelberg.de/Artikel/kinesis_custom_controller) Mapping the pin assignments was done using the corresponding matrix description provided at this [link](https://github.com/stapelberg/kinesis-firmware/blob/master/kb_kinesis/config.kspec) This code makes no attempt to drive the four LEDs provided on the controller board. ## Building the Hardware If you want to perform this customization, these parts may be helpful. | Function | Quantity | Vendor | Part Number | | ------------------------------------------------------ | -------- | ------- | ------------ | | 13 pin connector for function keys and finger keywells | 4 | Digi-Key | WM14526-ND | | 10 pin headers for thumb clusters | 4 | Digi-Key | 609-3250-ND | | 8 pin cable for thumb clusters | 2 | Digi-Key | SAM8928-ND | | Teensy++ 2.0 | 1 | Digi-Key | 1528-1056-ND | | 2 pin right angle header for reset | 1 | Digi-Key | 3M9467-ND | | Reset cables | 2 | Sparkfun | PRT-09140 | The board and connections are shown here ![controller board](https://i.imgur.com/2ZPMwvZ.jpg) The Teensy mounting detail can be seen here. I used a socket for prototyping. ![teensy detail](https://i.imgur.com/HrkGUjc.jpg) Since the proper mounting of the Teensy board places the reset button in a tight space, I added a 2-pin header to the reset and ground pins on the edge of the board. Shorting these two pins together will reset the board. I also put female to male header jumper cables on these so they could be accessed outside the enclosure. The exterior cables can be seen here. ![exterior reset](https://i.imgur.com/JNoxI40.jpg) ## Keymaps ### Default To build with the default keymap, run `make default` while in the `kinesis_stapelberg` working directory. ### Dvorak This keymap contains a dvorak implementation as well as media and symbol layers. Run `make dvorak` while in the `kinesis_stapelberg` working directory.