Just a little project.
The mechanical part is limited to having some acrylic sheets laser-cut and the buying of the correct length bolts. If you don’t do that you can either spend hours cutting / grinding them to size or ruin the last end-mill that you have. I did both
The LED part consists of a custom AVR board with LED drivers + ATmega168, 8 RGB LEDs, 8 small LEDs and an IR reflex sensor for the detection of a glass on top of it. Thanks to the excellent IR transmission of acrylic this is easily done. The short range doesn’t really matter here. The only constraint is that the glass should have a flat bottom or be filled with a milky substance with high IR reflection.
Power is provided by 2x AA cells (rechargeable) and a small boost converter module (from Pololu).
Code-wise it is compatible with the ShigtPWM library (1.03) with just a tiny modification regarding how the LEDs are addressed.