Close
0%
0%

Loafdeck

A USB Volume mixer/macro pad

Similar projects worth following
207 views
0 followers
(Project description is a work in progress)
A DIY USB Volume controller and macro pad, powered by an ATmega32U4. Features 2(?) rotary encoders, an OLED display, and 3(?) macro buttons. This device can individually control the volume of Windows applications.

(Project description is a work in progress)
A DIY USB Volume controller and macro pad, powered by an ATmega32U4. On my computer I usually have a few programs outputting audio at the same time; Discord, Spotify, and a video game for example. My keyboard runs on QMK and has a rotary encoder for volume control, but only controls the master volume. I downloaded EarTrumpet, a volume mixer that replaces the default Windows volume control. It works well, but I still need to get to the task bar to use it. This is an extremely minor inconvenience, but I had some pro micros laying around and decided to try making a custom solution. This device can (hopefully) individually select an application and control its volume, and has 3 (or more/less) buttons that can be customized to run macros. This project is inspired by, and (most likely) builds off of code found in the similar projects I came across, Maxmix (https://maxmixproject.com/) and deej (https://github.com/omriharel/deej).

  • Log 1: Design parameters, early prototyping

    cmoon551101/09/2024 at 00:16 0 comments

    Before I flesh out the physical design, I am going to establish some design parameters so I (hopefully) don't add too many features that I'll never use, and to see if what I want to make can be bought somewhere for cheaper. The Adafruit MacroPad kit runs 50 dollars as of right now, so I am hoping I can keep my design under that price. I was thinking about buying the Adafruit kit for this project, but couldn't justify having 12 switches for what ultimately amounts to being a fancy volume knob. I made a rough sketch of the features I want, with a little wiggle room for additional functions down the road.

    This is a poorly drawn out representation of the functions I would like to implement. At the very least the OLED will report the current application and its volume level. It would be nice to show the previous and next applications that can be scrolled to, and animate the application names scrolling. What would be cool to add is a little speaker icon that shows the relative volume level, sort of like what you'd see from the Windows volume icon in the task bar tray. Maybe it also does a little volume increase/decrease animation when changing the volume. If memory becomes an issue I will probably switch to an RP2040 based board. 

    I was thinking of using two rotary encoders with a push button for controlling the app selection and volume. The push button on the volume control knob will be a mute, but I am not sure exactly what to use the other encoder push button for. I don't want the project to be too large physically, so I am thinking of only including 2 or 3 macro buttons, and using the remaining encoder push button to swap between button profiles. If I do go this route, I'll need the OLED to also report what button profile it is on. For the macro buttons I'll use some cherry-MX profile switches that I have extras of. I have an extra set of keycaps not being used, but it might be nice to buy some PBT blanks.

    When looking at the Maxmix and the deej, they both use a separate windows application to interface with the arduino. I will have to learn how to write, or at least modify windows applications. Functionality wise, I think the maxmix software is pretty complete in regards to the features I want. YaMoef's fork of deej is also similar to how I'd approach building off the deej software.

    For now, I am going to learn how to use the OLED screen and look at the code of the other two projects I mentioned earlier. When I first came up with this idea I didn't anticipate needing to write software, but I suppose this is an easy project to learn on.

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates