I made a rotary encoder with 12 RGB LEDs. I programmed it as a volume control. Pressing down on the knob toggles mute.
The top plate has 5mm holes in the exact position of the LEDs on the main PCB. When soldering the LEDs I used the top plate to keep the LEDs positioned so they line up perfectly.
The top plate is held in place by the rotary encoder's screw on nut. The bottom is another PCB held on with M2 spacers and screws.
The bottom of the PCB has the same silkscreen pattern as the top.
The board is running an Arduino Sketch. It uses the Adafruit Neopixel library to control the LEDs. The HID Project library for sending keyboard commands to the host computer. The CommonBusEncoders library is used to talk to the encoder.