Making a light with a real stone surface. Slatelite is a thin real stone veneer which exist also in a semi transparent variant (and is also laser cutable, but this is not really necessary for this setup). Here we use a normal picture frame, insert a sheet of slatelite behind. A sheet of paper is used as additional diffusor if necessary, and lasercut pieces of cartoon are used as seperators for the LEDs of an WS2812b LEDs as backlight. For smaller versions an Arduino Nano clone is enough (for the Wordclock version with an additional RTC clock), while the bigger version uses an ESP32 mostly for memory reasons (but of course, WLAN access for picture upload for the future is a nice option).
Step 1: Mechanical Setup
For the setup 4 sheets of 2mm cartoon are lasercut in the size of the picture frame: The first one act as frame for the the LED matrix. The next one with 5*5 mm holes fixates the WS2812 LEDs of the matrix, then the next two act as spacer for light guidance. Spaces at each side are used for easier assembly of the frame (for the frames clips - might be unnecessary for thicker frames). On space is enlarged to make room for the controller (cutouts in the back side are used for programming access for testing purposes) and for the power plug a hole is drilles in the frame side. Since a standard WS2812b LED matrix is used, as well as a Arduino Nano necessary wiring is reduced to a minimum: Just connect both VCC and GND of the Nano and the LED matrix with the power plug, as well as DIN of the LED matrix with one output pins of the Nano.
For the bigger matrix, consisting of four of the matrices, the wiring is a bit more complex for the correct assembly according to the LEDMatrix-Library (See picture) - which might differ according to the setup of the used LED matrices.
Step 2: Programming
Both with the Nano as well as the ESP32 we can can control the WS2812b directly. Here we use the FastLED library, as well as the LED-matrix library which needs to be in the arduino library folder (nice that we can easily switch to ESP32 programming within the Arduino programming environment).
For the big matrix we use at the moment just a standard example. The wordclock is a slightly modified version of the one from microcontroller.net. For the Yin/Yang picture we devided the matrix into the three different areas as arrays, where the continous changing rainbow colors are displayed, with an simple color offset bettween the three regions.
Nothing special at all, but enjoy.