The Challenge

While open source software for using arduino hardware to interface with the Windows volume mixer already exists (notably deej), it is limited by the use of hardware sliders which are necessarily limited in number and cannot react to the Windows audio mixer being adjusted manually. This project instead uses rotary encoders in conjunction with a small screen to allow greater flexibility, dynamic reactions, and provides real time information to the user.

Process

As the sole developer, I engineered Grebe from the ground up, dividing the project into two distinct domains: a lightweight background Windows daemon and the embedded microcontroller firmware.

The Result

The final outcome is a highly portable, zero-configuration hardware volume mixer. The project was successfully shipped as a v1.0.0 release containing pre-compiled binaries for both the .exe Windows daemon and the .bin ESP32 firmware, allowing end-users to flash their hardware and run the software without needing to install language toolchains or compile from source.

Grebe runs silently in the background, consuming minimal system resources while providing instantaneous, tactile control over the Windows audio environment.

License