Sessile is a further exploration of "minimal" finger travel.
Probably the least amount of finger travel would be not moving them at all. That would be 10 keys...
...yielding 1023 possible combinations.
More realistically, we might consider excluding cross hand combinations so that modifiers might be used. That would give us
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. 🙃
-
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.
You can find the gerbers, bom, and cpl for JLC here. Finished boards are available sold out till the next batch.
Sessile was produced using studyofhands.
This board is designed for 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.)
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
Warning
This keymap is probably somewhat outdated!
Sessile uses the following pinout for its 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.