Keeb Deck
The "keeb" deck was a project idea to bring an analog and tactile feel to the digital control of application volume levels on my PC. Not only would the external device be able to independently control volumes for apps like Spotify, Discord, Firefox, but to do so in a way that gave me a physical slider for each application.
This was accomplished by paring 5 of these physical and motorized sliders with an embedded ipad mini and accompanying app.
This is the main screen as displayed on the ipad. It not only has the volume controls, it also allows me to turn on/off lights on my desk, switch OBS scenes, control spotify, and mute various inputs.
The ipad was linked to both the attached PC, as well as an embedded micro-controller. The main job of this micro-controller was to take inputs from any slider movement and pass it into the app and PC. As well as take any updates to volumes made in the app or on the PC and to move the sliders to the correct positions automatically.
This video shows the micro-controller updating and moving the sliders from 100 to 0 and back to 100.
This next clip is taken later in the development process and shows the physical slider adjusting the volume in the app. And then also shows when the volume is adjusted using the app, the slider is moved to the updated position.
This allowed me to see, and feel at a glance where each and every volume level was at. And meant I could quickly make any changes I needed.
The case used was 3d printed in PLA at home. And the plate that held the physical sliders was a piece of laser cut acrylic.
All the case+plate and other CAD designs where created using fusion360. The ipad app was written in flutter. And the micro-controller used was my own custom board with an rp2040 running micro-python. The desktop app which communicated back and forth with the device over USB and custom HID commands was written in golang.