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

PartCost (CAD)
RPi Pico12.95
Copper Wiring11.99
Diodes14.68
Soldering Kit19.99
Switches (KTT Kang V3)25.87
Kaihl Hotswap Sockets17.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%.

Pinout for the RPi Pico microcontroller

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.

rpi pico 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.

The designed layout

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

3D printing the plate to hold all the key switches

Additionally did a test fitting with some spare switches I had lying around. Fitting switches into plate

Pre-handwiring

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.

VIA config

Update: 2023/07/07 Completed the soldering for the keyboard matrix and microcontroller Handwiring diagram

Finished soldering

Media

References