Skip to the content
2 layers106 × 122 mmVolumeKnobPanalizedV1, the printed circuit board in 3D

VolumeKnobPanalizedV1

18Markus1984/Volume-Knob8

An Arduino pro micro project with a rotary encoder to control volume or mute the sound.

Size
106 × 122 mm
Copper layers
2
Thickness
1.6 mm
Parts
192
Nets
165
Pads
404
Tracks, vias
388, 20
Pours
6
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
26 May 2021
Updated
3 Oct 2026

Overview

VolumeKnobPanalizedV1 is an open-source printed circuit board by 18Markus1984, from the 18Markus1984/Volume-Knob repository on GitHub. It is a 2-layer board of 106 × 122 mm with 192 parts on 165 nets, routed with 388 tracks and 20 vias.

It is built around the WS2812B. Its parts include 36 diodes, 4 resistors, 4 ICs and 4 switches. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Volume Knob V2 (USB-C)

A compact USB volume knob based on an Arduino Pro Micro (USB-C). Turn it to change your computer's volume, click to mute – and eight RGB LEDs under a transparent ring give visual feedback with selectable colors and animations.

The knob shows up as a standard USB media keyboard, so it works on Windows, macOS and Linux without any drivers.

3D-printable parts, photos and more: Printables – Volume Knob V2 (USB-C)


Features

  • Volume up / down by turning the knob, mute by clicking it
  • 8 addressable RGB LEDs (SK6812) behind a clear printed ring
  • 25 selectable colors
  • Several LED animation modes
  • Color and mode are stored in EEPROM and survive unplugging
  • USB-C, plug & play (USB HID consumer control)
  • Roughly €20 in parts per knob

Bill of Materials

QtyPartNotes
1Arduino Pro Micro (ATmega32U4, USB-C)5 V / 16 MHz
8SK6812 RGB LED, 5050 packageWS2812B-compatible
1ALPS rotary encoder with push switch
110 kΩ resistor
1Custom PCBKiCad project and Gerbers in this repo
4M3 × 16 screws
4M3 threaded inserts
–PLA + clear/transparent filamentfor the housing and the light ring

3D Printing

All parts print fine in PLA. Print the light ring in transparent filament so the LEDs shine through. The bottom can optionally be printed with a decorative pattern – an Octagram Spiral top/bottom surface pattern looks great.

The print files are on Printables; the source CAD files (Autodesk Inventor, STEP, STL) are in ProMicroKiCad-master/VolumeKnob/3DObjekt.

Assembly

  1. Solder the rotary encoder, the Arduino Pro Micro and the resistor onto the PCB.
  2. Melt the four M3 threaded inserts into the holes of the bottom housing.
  3. Snap the transparent ring into the housing (snap-fit, no glue needed).
  4. Fasten the PCB assembly with the four M3 screws.
  5. Press the knob onto the encoder shaft – it's a press fit, no adhesive required.

Wiring

Pro Micro pinConnected to
7LED data in (SK6812 chain)
6Encoder CLK (A)
5Encoder DT (B)
2Encoder push button (SW)

Firmware

The sketch is located at volumeKnob/volumeKnob.ino.

Required libraries

Install via the Arduino Library Manager:

Upload

  1. Select the board Arduino Leonardo (or SparkFun Pro Micro, 5 V / 16 MHz if you have the SparkFun board package installed).
  2. Choose the correct port and upload.

If you use a different number of LEDs, change NUMPIXELS at the top of the sketch.

Note: On startup the knob sends 50× Volume Down followed by 2× Volume Up, so your system volume is set to a low, known level every time it is plugged in.

Usage

ActionVolume modeColor menuMode menu
TurnVolume up / downBrowse the 25 colorsBrowse the animation modes
ClickMute / unmuteSave color & go backSave mode & go back
Long pressOpen color menuOpen mode menuBack to volume mode (without saving)

Two encoder detents equal one volume step.

LED modes

  • Single pixel – one LED follows the knob and slowly fades out
  • Rainbow fade – all LEDs fade through the color wheel
  • Rainbow wheel – a rotating rainbow around the ring
  • Pixel trail – three LEDs follow the knob and stay lit

In the mode menu the modes are arranged in groups around the ring, separated by a dark position.

Repository Structure

text
Volume-Knob/
├── volumeKnob/volumeKnob.ino          # current firmware (V2)
├── images/                            # photos and GIFs
└── ProMicroKiCad-master/
    ├── VolumeKnob/
    │   ├── VolumeKnob.kicad_pro/_sch/_pcb   # KiCad project of the PCB
    │   ├── jlcpcb/                     # Gerber, BOM & CPL for JLCPCB
    │   ├── Gerber/                     # older Gerber revisions
    │   ├── 3DObjekt/                   # Inventor / STEP / STL files
    │   └── Code/                       # older sketches and test code
    └── ProMicroKiCad-master/           # Pro Micro KiCad library

Gallery

Version 1

The first version used a micro-USB Pro Micro, single-color green LEDs and a hand-wired build (8× green LEDs, 2× 10 kΩ resistors). Using individual LEDs instead of a ring PCB wasn't the best idea – it took some hot glue to hold everything in place – which led to the V2 with a custom PCB, RGB LEDs and USB-C.


Made by Max Siebenschläfer – find more projects on Printables.

Parts

192
QtyValueFootprintReferences
36WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1, D1, D1, D1, D2, D2, D2, D2, D3, D3, D3, D3, D4, D4, D4, D4 +20
410 kΩ Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R1, R1, R1
4LOGOtestboard:LogoMaxV6G***, G***, G***, G***
4LOGOtestboard:OpenSourceLogoG***, G***, G***, G***
4ProMicropromicro:ProMicro-NoSilkU1, U1, U1, U1
4Rotary_Encoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC12E-Switch_Vertical_H20mmSW1, SW1, SW1, SW1

The 56 most common of 192 parts.

More from 18Markus1984/Volume-Knob

1
  • 2 layers52 × 52 mmVolumeKnob, the printed circuit board in 3D

    VolumeKnob

    18Markus1984/Volume-Knob

    An Arduino pro micro project with a rotary encoder to control volume or mute the sound.

    18 parts8

Similar boards

  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0
  • 2 layers26 × 30 mmMicrocontroller, the printed circuit board in 3D

    Microcontroller

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    34 parts1.1kCC-BY-4.0
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 2 layers95.3 × 161.9 mmDfh badge, the printed circuit board in 3D

    Dfh badge

    tanaes/whopping_Voron_mods

    135 parts787GPL-3.0
  • 2 layers42.8 × 28.8 mmMM Skirt, the printed circuit board in 3D

    MM Skirt

    PrintersForAnts/Micron

    If you want to purchase full kits there are 3 available (Kits are slowly updating to R1 hardware just make sure to double check the included hardware in your kit and if you have any questions reach out in the discord)

    11 parts741GPL-3.0
  • 2 layers149.6 × 127.1 mmErgodash, the printed circuit board in 3D

    Ergodash

    omkbd/ErgoDash

    keyboard

    187 parts732MIT
  • 2 layers285.5 × 95 mmReviung46 ver1 1, the printed circuit board in 3D

    Reviung46 ver1 1

    gtips/reviung

    The REVIUNG41 is 41-key column staggered keyboard.

    119 parts517MIT
  • 2 layers177.7 × 144.5 mmCOMM PANEL, the printed circuit board in 3D

    COMM PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    275 parts431

Questions

How big is the VolumeKnobPanalizedV1 PCB?

It measures 106 × 122 mm and has 2 copper layers, 1.6 mm thick.

What parts does the VolumeKnobPanalizedV1 use?

192 parts, built around the WS2812B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the VolumeKnobPanalizedV1 KiCad files?

From the 18Markus1984/Volume-Knob repository on GitHub, at the commit this page was made from: the board is ProMicroKiCad-master/VolumeKnob/Gerber/V0.3KiKit/Panalized/VolumeKnobPanalizedV1.kicad_pcb and its schematic ProMicroKiCad-master/VolumeKnob/BackUpBevorKiKit/VolumeKnob.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the VolumeKnobPanalizedV1 design in my own project?

Its repository states no licence, so its author keeps all rights: ask 18Markus1984 before reusing the design.