project: desktop volume control with Arduino

A volume control at hand and ready to turn. Bash the top and the video or track pauses. Double bash to skip to the next track. It’s plug and play, it requires no app and it works with Spotify, iTunes or any media player.

I totally get the need for an emergency stop button for music. And using a mouse to drag the volume up or down is one of the worst creations of this age.

This device uses the odd fact that the Arduino Pro micro has a ‘keyboard emulator’ so it can send a keystroke to the computer via USB. This works on Windows, Mac or any device that can use a keyboard.

BTW: with a software tweak the same hardware can be used for movie or music editing. You could then turn the knob to adjust the movie playhead position and press it to split the video. You can buy such an editing tool at a high price whereas this project makes you one for a few £ or $.

Credit for this project is due to Josef Prusa of Prusa Research. Prusa make highly regarded 3D Printers using 3D printers. Extra thanks to Mr Prusa for being so inspirational in presenting the project so well in the video below.

What you need for this project

  • An Arduino pro micro which has a micro USB socket aka “Pro Micro ATmega32U4 5V 16MHz”
  • A rotary encoder as shown below – this transmits codes (whereas a potentiometer changes a resistance).
  • A box or 3D printed case
  • Mostly female-to-male Dupont wires which you might solder or glue in place
  • A micro-USB cable to firstly upload the code to the Arduino and secondly to attach to the computer you want to control.
  • Josef Prusa’s post & video links below

https://blog.prusaprinters.org/3d-print-an-oversized-media-control-volume-knob-arduino-basics/

Thanks to a messy glue-gun, there’s less soldering to do and the volume control hasn’t once failed me. The Arduino has two red LEDs, one that flashes as you turn. This had me thinking that I’ve missed the trick to exploit this light in the design. Still thinking on where to perforate the case.

Leave a Reply

Your email address will not be published.