qmk_userspace/keyboards/tutte_coxeter_36k
Peter J. A. Cock b0cdc8eb61 Fix right thumbs in Vial
$ qmk format-json keyboards/tutte_coxeter_36k/keymaps/vial/vial.json -f keymap -i
2025-07-16 20:13:47 +01:00
..
keymaps Fix right thumbs in Vial 2025-07-16 20:13:47 +01:00
keyboard.json Fix repeated entries in row pins (typo) 2025-07-04 12:52:29 +09:00
readme.md Show table representation of the 36 keys 2025-07-04 13:14:37 +09:00

Tutte Coxeter 36k

Partial Tutte-Coxeter Graph (26/30 vertices, 36/45 edges)

This is firmware for a Raspberry Pi Pico PR2040 controller monoblock 36 key design (split 3x5_3 - three rows of five, and three thumb keys, for each hand). This is a diode-free design with a sparse 13 by 13 scanning matrix designed using a partial Tutte-Coxeter graph (using only 26 vertices or GPIO pins, with 36 edges or keys - see this blog post for background, although the final pin selection and trace routing changed):

GP11 GP10 GP3 GP4 GP7 GP26 GP27 GP28 GP15 GP21 GP19 GP20 GP16
GP12 Z J
GP8 Q S ;
GP9 X C
GP1 D R O
GP6 V G
GP2 W T Y
GP22 H M R3
GP0 E U I
GP13 B K L2
GP14 A L1 L
GP18 N . R2
GP17 , R1 /
GP5 F P L3

The keys here are labeled as per Qwerty, with L1, L2, L3, R3, R2, and R1 for the thumbs:

Q W E R T Y I O U P
A S D F G H J K L ;
Z X C V B N M , . /
L1 L2 L3 R3 R2 R1

The firmware follows the LAYOUT_split_3x5_3 QMK community layout convention, making it much easier to use with an existing layout like Miryoku.

The first physical PCB for this was designed using the Gamma Omega keyboard footprint from Ergogen. This is intend use the same Raspberry Pi Pico YD-RP2040 microcontroller board to fit the same 3D printed case, including reset button placement.

Make example for this keyboard (after setting up your build environment):

make tutte_coxeter_36k:default

Flashing example for this keyboard:

make tutte_coxetter_36k:default:flash

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.

Bootloader

Enter the bootloader in 3 ways:

  • Bootmagic reset: Hold down the key at (0,0) in the matrix (bottom left key, Qwerty z) and plug in the keyboard
  • Physical reset button: Briefly press the button on the back of the controller (if physically accessible)
  • Keycode in layout: Press the key mapped to QK_BOOT if it is available