Gina’s Pretty Volume Controller

Categories Electronics, Woodworking

Ørh…

When I’m playing my games, the music is always a bit too loud or my teammate’s voice is a bit too low. So, how can I easily fine-tune the volume of Spotify and Discord while playing my games?

My solution is special software, a teensy board, some LED rings, and a box.

Behold, my pretty volume controller!!!

It works like a charm and fits in nicely with the rest of the stuff on my desk. I’m using it almost every time I’m at my computer.

Take a look at the steps below to see how I made it!

Step 1 – Planning & Shopping

So my plan is to make a simple MIDI controller that is connected to my computer through USB. On my computer, I will use a software called Power Mixer that, reads the MIDI signals and adjust the volume of individual applications based on the Midi readings.

Here are some of my initial designs:

Initial design: My initial design included faders, as I think they look cool.
Final design: I wanted a more compact design, so rotary knobs were the way to go.

So my final design includes 5 rotary knobs. I could have made more knobs, but I want to keep this controller as small as possible, and 5 knobs cover the most important applications.

Then I wanted to glow in pretty colors. (I love RGB LEDs… a lot!) So I needed a nice way to make it glow in pretty colors. I came over these NeoPixel LED chips. “NeoPixel” is Adafruit’s brand for individually-addressable RGB color pixels and strips based on the WS2812, WS2811 and SK6812 LED/drivers, using a single-wire control protocol.

The good part is that I only need to connect one wire to my development board to control all of the lights individually. Each LED chip is addressable, so you can individually control the color and intensity of each LED. That makes it super simple to make nice Rainbow effects <3

Image result for neopixel
This is a ring of 12 NeoPixel chips, in the design I choose to use a ring with 8 NeoPixel chips

My circuit will look like this:

Parts list:

Hardware:

Software:

For this project, I chose to use a Teensy board instead of an Arduino, as Teensy has native support for  MIDI through USB. That means when you can easily configure Teensy to show up as a MIDI device when connected to a PC. Windows even use legacy drivers, so no driver downloads needed 🙂

I put great care into choosing the right knob. I was really happy withrough feel and size of it

Step 2 – Putting stuff together

After the final parts arrived, it’s time to solder everything together. I ordered the Teensy board without headers, but I changed my mind and soldered headers to it afterward.

Everything fits together nicely.

Step 3 – Make some code

Now I had to make some code that controls the MIDI and NeoPixels.

Here is a video of the final hardware and code. All that is left is the case.

Step 4 – Make a box

I routed the volume controller box out of oak. The inserts are milled from clear Plexiglas.

After the milling, I just had to sand the inside and the holes a bit. The Plexiglas inserts fit perfectly <3 I have learned my lesson about tolerances, and left 0,2 mm clearance between the insert and the wood.

For a longer version of this video, check out this link

Step 5 – Final Assembly

Time for the final step!

I spent some time deciding on the type of finish I should use on the box. Since the wood was so pretty on its own, I thought it would be best to simply use a light stain or wax to just enhance the wood. But an item with a “wooden” finish would not fit in on my desk, so I decided to go all black!

I still wanted to keep the wooden structure, so I decided to use a black strainer, with a light clear coat on top.

After the finish was dry, I had to glue in the Plexiglas inserts. I used 5-minute epoxy glue.

Then I had to prepare the cables. Since I had to use two cables, I needed a nice sleeve to make it pretty. I used heat shrink tubing on each end.

After the glue was dry, I could start final assembly. The components fit nicely in the box, but I mounted them in the wrong order many times, so it took a while.

Here is a picture of the underside of the fully assembled box. I made a clear Plexiglas cover on the back, so all the components are visible. I used some black tape to insulate the Teensy board from touching the metal potentiometers.

Step 6 – Done!

All finished! It powered up right away and was identified by my PC as a MIDI input device.


It’s super convenient to use while gaming. Finally, I can optimize the volume of different applications on the fly. I cannot conceive how I ever managed without one.

Step 7 – Improvement potential

Not everything is perfect though. If I were to make another box, I would do a few things differently.

  • I would use semi-transparent Plexiglas instead of sanding normal Plexiglas. The sanding did not make it frosted enough, and I can see the individual LEDs through the plastic.
  • I would use pot-meters with solid axles. The type I used compressed when I tightened the set-screw in the knob, and thereby the knobs became slightly off center.
  • Maybe include a light sensor, and automatically adjust the brightness of the LEDs to the ambient light level.
  • Have two buttons so I can adjust the saturation and intensity of each LED ring.

Any other ideas? Feel free to make a comment 🙂

12 thoughts on “Gina’s Pretty Volume Controller

  1. Great project Gina, looks amazing! Love the LED rings, and Im glad you invested in quality knobs, and not those cheap plastic ones. That box looks really nice and professional. Can’t wait to see the finished result 🙂 Good job!

  2. Gina, how did you use the terminal blocks and what purpose do they have? I’m thinking of making this but I can’t tell from your pictures how these are wired and how many did you use? Is there a glass fuse in this?

    1. Hi Conrad, I have updated the schematic. Now you can see the location of the terminal blocks and glass fuse in the circuit diagram 🙂

      GLHF!

Leave a Reply

Your email address will not be published. Required fields are marked *