Skip to content

willpuckett/sessile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sessile

sessile render

Sessile is a further exploration of "minimal" finger travel.

What Even Is 'Minimal Finger Travel' Anyway?

Probably the least amount of finger travel would be not moving them at all. That would be 10 keys...

$$combos_{10\,keys} = \sum_{r=1}^{10} C(10, r) = 1023$$

...yielding 1023 possible combinations.

More realistically, we might consider excluding cross hand combinations so that modifiers might be used. That would give us

$$combos_{5\,keys} = \sum_{r=1}^{5} C(5, r) = 31$$

So, with only 5 keys on both hands, and no cross hand combos, we would have a total of 62 possible keys per layer—more than sufficient.

I wasn't quite ready to take on learning to type on that though, so just avoiding lateral reaches seemed like a start. 🙃

Features

  • Sessile uses KLP-Lame keycaps. Larger caps may be tight, especially on the bottom row. I was lazy and didn't model the tilted keycaps in the rendering, but they're much nicer for the vertical combos.

  • Uses battery LIR1254. DO NOT substitute LR44.

  • The high speed pins were left available for encoders and could be wired in a subsequent revision.

  • Built for RMK. Configure them using Vial.

Production Files

You can find the gerbers, bom, and cpl for JLC here. Finished boards are available sold out till the next batch.

Origin

Sessile was produced using studyofhands.

study of hands

Firmware

This board is designed for RMK. 😏

RMK

Current RMK build is available in the Releases.

You can build the firmware yourself by cloning this repository and running

cd rmk && cargo make uf2 --release

(If you haven't previously used Rust to build software for nRF52840, you may need to follow the Setup RMK Environment instructions.)

ZMK

There is a no longer maintained build of ZMK available in the ZMK branch.

Important

RMK uses a newer SoftDevice. Once you flash the current version of RMK, you won't be able to reflash ZMK without connecting a debug device and doing something akin to:

wget https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/softdevices/s140/s140_nrf52_7.3.0.zip
wget https://forum.seeedstudio.com/uploads/short-url/eSDX0bezkia89iZ77eduYRwycAt.zip
unzip s140_nrf52_7.3.0.zip 
unzip eSDX0bezkia89iZ77eduYRwycAt.zip
probe-rs erase --chip nrf52840_xxAA # erasexiao
probe-rs download --verify --binary-format hex --chip nRF52840_xxAA s140_nrf52_7.3.0_softdevice.hex # flashsoftdevice
sudo openocd -f interface/cmsis-dap.cfg -f target/nrf52.cfg -c init -c \"reset init\" -c halt -c \"nrf5 mass_erase\" -c \"program Seeed_XIAO_nRF52840_Sense_bootloader-0.6.1_s140_7.3.0.hex verify\" -c reset -c exit # flashbootloader

Important

If you are still using sessile-template to build zmk, you need to change west.yml to point to zmk branch of this repo.

manifest:
  remotes:
    - name: zmkfirmware
      url-base: https://github.com/zmkfirmware
    # Additional modules containing boards/shields/custom code can be listed here as well
    # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects
    - name: willpuckett
      url-base: https://github.com/willpuckett
  projects:
    - name: zmk
      remote: zmkfirmware
      revision: main
      import: app/west.yml
    - name: sessile
      remote: willpuckett
-     revision: main
+     revision: zmk 
      import: config/west.yml
  self:
    path: config

Keymap

Warning

This keymap is probably somewhat outdated!

Caster Befuddle Variant

Matrix Diagram

Sessile uses the following pinout for its matrix:

sessile_matrix

Referencing this pinout sheet provided by Seeed, the only two exposed high speed pins P0_04/SDA/D4 & P0_05/SCL/D5 have been left available for possible encoders in a subsequent revision.

About

28 key monoblock

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

  •