users and developers / 0.1.1
deejx
Physical slider volume control: current capabilities, setup, and configuration.
deejx
deejx connects physical sliders or knobs to desktop audio controls over USB serial. It is a Rust alternative to the original deej project, with a desktop driver and ESP32 firmware.
|
Warning
|
The project is experimental. These pages describe driver version |
Current capabilities
| Area | Current implementation |
|---|---|
Linux audio |
The driver uses a PulseAudio client to adjust output devices and active application streams. A reachable PulseAudio-compatible server is required. |
Windows audio |
The repository advertises Windows support, but |
Audio targets |
Master output by numeric device index, output device by name, and applications matched by name. |
MIDI and unmapped controls |
Both mapping types deserialize, but moving those sliders only logs that they are unsupported. |
Profile reload |
The driver watches its YAML profile. Serial port, baud rate, and timeout changes cause the serial connection to reopen. |
ESP32 firmware |
Targets the original ESP32, configures GPIO34 and GPIO35, and selects UART0 at |
How the pieces fit together
The board samples slider positions and sends binary packets. The desktop driver reads values in packet order, looks up the mapping at each position, and updates the audio target. The protocol is different from the original deej text stream; use firmware that implements the deejx packet format.
Source reference
Implementation details were checked against the driver, the configuration types, the Linux audio backend, and the firmware. The repository README describes planned features as well as implemented behavior.