P—005Prototype Development2026● Open source / active development

Darkdial — Lightroom Control Dial

Turn a physical dial to develop and cull photographs, then hold it to track the time spent on the job.

Darkdial — Lightroom Control Dial project

Darkdial turns a compact ESP32-S3 rotary touch display into a dedicated Lightroom Classic control surface. The dial moves through 46 development parameters, a tap selects the current control and turning adjusts its value with speed-sensitive steps. The circular display mirrors the active slider, value and range while following changes made directly in Lightroom.

In the Library, the same hardware becomes a culling tool. Turning moves from photograph to photograph; taps can apply flags, star ratings or colour labels and optionally advance to the next frame. USB-MIDI provides the primary connection, while BLE-MIDI allows the dial to work from a power supply or power bank without a data cable to the Mac.

A long press opens job-based time tracking on the device. Clients and jobs are managed in the macOS menu-bar app, Lightroom collections can be associated with them, and the running time remains visible while editing. The desktop application includes searchable entries, weekly and monthly summaries, manual corrections and CSV export.

The system joins three deliberately separate parts: C++ firmware and LVGL on the device, a Flutter macOS application, and a lightweight Lua plug-in for Lightroom. The protocol, firmware, app and development tools are published together so the complete interaction can be studied, rebuilt and adapted.

Open source / Repository

Source, releases and rebuild notes on GitHub.

The repository is the canonical home for the code, installation instructions, releases and issue tracking.

ESP32-S3Lightroom ClassicFlutter / macOSC++ / LVGLUSB + BLE MIDI
mrnash23.github.io / DarkDialProject websiteMrNash23 / DarkDialView repository
Next projectAktion Mensch