Keyboard Builders' Digest
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.

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).


Ploopy Mini open-sourced

The Ploopy Mini Trackball by crop_octagon is now completely open-source. All design files are available and runs QMK.


IBM Model M5-2

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


Self-contained trackball

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

Trackball companion for split keyboards

Ploopy: a ball-only trackball companion for split keyboards by crop_octagon (docs).

Ploopy Nano design files released

The design files of the Ploopy Nano Trackball by crop_octagon are officially released (git).