USB Volume Knob Using DigiSpark and Rotary Encoder

Introduction: USB Volume Knob Using DigiSpark and Rotary Encoder

This is a super cheap USB Volume Control Knob. Some times traditional knobs are more convenient to control things rather than clicking mouse everywhere. This project uses DigiSpark, a Rotary Encoder and Adafruit Trinket USB Library ( and a few female-female jumper wires.

Step 1: Enclosure and the Knob

Take any ready made volume control knob or you can use an old detergent bottle cap. I have used an old cap. After cleaning the cap, it is painted black. Take another empty container of face cream and make a hole in its lid. Make another hole in bottom of container so that the wires can go out.

Step 2: Test the Project

  • Download and install DigiSpark drivers for Windows/Linux/Mac
  • Install DigiSpark Board packages for Arduino in IDE (more details
  • Select the DigiSpark board in Arduino IDE under Tools menu.
  • Download and install Adafruit Trinket USB library from
  • Connect rotary encoder and DigiSpark as per attached wiring diagram. You can test it on a breadboard.
  • Download attached USBKnob.ino and Settings.h. Open the ino file in Arduino IDE and upload to DigiSpark

Test the volume by rotating the Knob. Volume should go up and down. Thats all. So simple.

Step 3: Final Assembly

Screw the encoder through the hole on top of container lid. Because the container is empty, when the Knob is rotated the whole container may moves. Put something inside the container to make its base heavy (like GRAM or ball bearing etc). Connect the DigiSpark to computer and the Knob is ready.

Be the First to Share


    • Microcontroller Contest

      Microcontroller Contest
    • Metal Contest

      Metal Contest
    • Plywood Contest

      Plywood Contest



    Question 1 year ago on Step 3

    Many thanks for the fine implementation. The debug function that helped me to identify the missing pull resistor on the rotary encoder was great...
    I'm thinking of implementing another double-click. This is not included in the Trinket - but in DigiKeyboard - there is also a long press.