Light prefers to take the shortest path, but under the right conditions you can make it bend and bounce, generating lovely effects in the process. This project takes advantage of some special properties of acrylic. Inside polished acrylic, light rays reflect off the smooth inner surfaces, preferring to escape at the rougher edges or scatter at imperfections in the surface. This internal reflection causes the light to suffuse the entire acrylic shape with a subtle uniform glow, even where it bends and curves.
We can take advantage of light scattering by engraving patterns into the smooth surface of acrylic sheet then illuminating the sheet to generate a brighter glow at the etched spots. These edge-lighting effects are often seen in signage or décor used in dark venues (see “LED Nixie,” Make: Volume 66).
The edge-lit rainbow juxtaposes seven separate acrylic “arcs” and illuminates each one individually with RGB LEDs so that each arc glows with its own colors, independent of its neighbors. This project takes the effect one step further, giving both ends of each arc separate RGB LEDs to generate a color mixing effect.
There are many possible ways to control RGB LEDs, so I made this project versatile by attaching the LED strips to a JST connector, allowing it to be easily powered by interchangeable microcontrollers. This build explores ways to illuminate the rainbow using CircuitPython code on a Circuit Playground Express for quick programming and interactive color-mixing, as well as an ESP8266 board for IoT connectivity and a colorful report on real-time weather conditions.