Skip to content
← Experiments
Hardware · Mac app · Interaction design

Watt, the puck

A palm-sized dial for my Mac that changes with whatever I’m doing

2026watt.sourabhdaroji.com ↗

It sits by my keyboard. Turn it and the volume follows. Lay it flat and it's a trackpad. Pick it up and it's a pointer. When nothing needs it, a pair of eyes lives on its screen.

It runs on a $40 Waveshare ESP32-S3 board: a round screen, a touch panel, a motion sensor, a speaker and one button. There's no knob, so the whole puck became the knob. There's no haptic motor, so the speaker fakes every click.

Volume, best with the sound on: those clicks are the detents
  • Pointing. Flat on the desk, the glass is a trackpad. Lift it and it becomes a pointer: aim at the screen, tap to click.
  • Working with Claude. When Claude Code wants to run a command, the command shows up on the puck: turn to choose Allow or Deny, hold to confirm.
  • Tuning this site. dialkit-watt hands DialKit's live controls to the puck, so you keep looking at the design instead of at the sliders.
Tuning this site's headline from the puck

Build one: the steps are at watt.sourabhdaroji.com, the code is on GitHub, and dialkit-watt is on npm.