j6n47
Background
This document will outline the process I went through in building my very own hand-wired keyboard from scratch.
Goals
- Smaller form-factor (<60%)
- Hotswap
- OLED Screen?
- QMK/VIA support
- Ortholinear
Parts & Cost
Part | Cost (CAD) |
---|---|
RPi Pico | 12.95 |
Copper Wiring | 11.99 |
Diodes | 14.68 |
Soldering Kit | 19.99 |
Switches (KTT Kang V3) | 25.87 |
Kaihl Hotswap Sockets | 17.29 |
Keycaps | |
3D Printing | |
Total Cost (WIP) | 56.11 |
Layout
I initially found keyboard-layout-editor, where I viewed existing layouts and played around with creating my own layouts. For this project, my goal was to create a smaller form factor keyboard than my current 60%.
Working with QMK
Setup
Setup of qmk was fairly straight-forward, following the available documentation.
pip3 install --user qmk
echo 'PATH="$HOME/.local/bin:$PATH"' >> $HOME/.zshrc && source $HOME/.zshrc
qmk setup
qmk compile -kb clueboard/66/rev3 -km default
QMK Configuration
I realized I would not be able to reuse the raw data I created earlier in keyboard-layout-editor
, so I looked to port over my layout to qmk configuration.
I forked the qmk_firmware
repo to include my new layout & created a keyboard profile for myself, adding respective pins based on the rpi pico’s pinout diagram.
qmk new-keyboard
...
qmk compile -kb handwired/j6n47 -km default
The changes I made can be viewed here.
Worklog
Update: 2023/06/28 Designed the layout for the keyboard using keyboard-layout-editor.
I then tried a few different options to take this layout and generate a 3D-printable .stl
file:
I ended up using keebio’s plate generator, though it seems the three options have quite similar feature sets.
Update: 2023/06/30 Went to the library to print the pcb plate! Had to tinker with the fill (make it much less dense than before) to get the print to fit the timeslot I had booked (we are only allotted max 2 hrs for a print). View a short clip of the print here
Additionally did a test fitting with some spare switches I had lying around.
Update: 2023/07/04 After flashing the I wanted the keyboard to also support VIA configuration (that way I won’t need to reflash the mcu everytime I want to make changes), enabling support for VIA was surprisingly simple following a guide from youtuber Joe Scotto.
Update: 2023/07/07 Completed the soldering for the keyboard matrix and microcontroller