Keyboard Builders' Digest
Save 5% at — discount 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.

Published on October 4, 2021 by

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.


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.

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


64-key split

This 64-key split by SKZBadHabit features a pointing stick/trackball (gallery).

Self-contained trackball

All the electronics is hidden inside this trackball by Jacek Fedoryński (video, git, blog post). (Posted by deekue.)

IBM Model M5-2

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