Keyboard Builders' Digest
Save 5% at AKKO! Code: KBDNEWS
Keyboard Builders' Digest / Tips & Tricks

Pimoroni trackball support in ZMK

Coded, built and tested by cdc_mkb on a Zephirum, Pimoroni PIM447 trackball is now supported in ZMK firmware.

KBD.news
Published October 4, 2021
Out of 150,000 readers, only 54 support this blog. Will you join Cyboard, RGBKeys, and Micah Alpern?

I wrote a Zephyr driver for the famous Pimoroni PIM447 trackball and added the necessary glue on top of the "mouse" development branch – cdc_mkb.

Code: https://github.com/cdc-mkb/zmk/commits/mouse-pim447

Thanks to a neat trick, small displacements are very precise whereas large displacements are quite fast; it never feels choppy at all.

It probably won't be merged until the ZMK "mouse emulation" dev. branch is stabilized. Technically the support for this trackball could be independent from this dev. branch, but it would mean to duplicate a lot of code.

I only use the USB HID for the moment, so I have no idea on the battery impact. However there is a concern in this regard since the driver is in polling-mode so I contacted Pimoroni to get more information in order to write a new driver in interrupt-mode.
Do you like this post? Share, donate, subscribe, tip me off!

Published on Mon 4th Oct 2021. Featured in KBD #46 (source).


Related

UniChunky

The UniChunky by u/tenstaana is basically two Chunkys fused together.

IBM Model M5-2

An IBM Model M5-2 with a cute little trackball. Posted by opalinemoth.

DYA Dash

The DYA Dash is a nice wireless split project by Cormoran: low-pro, touch sensors, trackball.

Chitin

Scybin's Chitin is an open-source wireless split with a tiny trackball.

Nova

Nova is a Buran variant/mod by Protieusz: an orthoish monoblock split with trackball, on-board RP2040 and roller encoder.

×
top