This design has been the subject of STEM workshops. It has been quite popular. Originally there was no PCB, the wiring was done with jumper wires to the Nano’s pins, then later I made a circuit board so that it would be more reliable.
The hardware consists of a mechanical rotary encoder with button, an APA102 LED strip (6 LEDs) and an Arduino Nano. The unit gets power from the Nano’s USB port.
All the package parts are laser cut acrylic. For the thick acrylic, I found that by turning the power up higher than it needed to be, the surface of the cut would be glassy and transparent (looks good), whereas with lower power it could be smoky (not so good).
I've also made a mini version, which uses the same electronics and programming, but the cost is 2/3.
The LED strip faces inward, so most of the light projects out the top and bottom. For aesthetics I use white LEDs strips that have a small hole on each copper pad. There is 1/16" white translucent acrylic above and below the LED strip, to diffuse the light.