It’s always fun when we can find projects that combine fabrication methods in new ways. This lightbox, based on a design from UVA graduate student Michael Clemens and built by 4th year student Shay Breneman, combines coding, 3D printing, and laser cutting/etching to produce a striking desktop ornament. All of the parts need can be found at the end of this post. You can design the shape of the case and the acrylic panels to suit your own individual style.


The first thing Shay did, was design her enclosure. Built into her enclosure are slots for eight acrylic discs, as well as openings for a power cable, on/off switch, and cycle button.

While the enclosure was being printed, Shay moved on to designing the pattern to be etched onto the discs.
Clear acrylic, when etched and lit from the side, will largely remain clear, with only the etched area picking up the color from the light. When additional layers of clear acrylic are placed behind the etched piece, they will create reflections the layer in front. With colored LEDs providing the light, this produces an almost holographic effect.
Shay used eight discs in our design, with images etched onto only the first five. The last three act as additional mirrors to provide more depth.

The electronic components are wired as shown below. A 9-volt battery can be used as a power source. Alternately, the ends of a USB cable, if stripped can be used to supply power. This will allow the lightbox to be plugged into a computer or other USB power supply. (Note: if using a USB cable to to power the lightbox, the green and white wires can be cut away. They normally carry data and will not be needed here.)

Once all the components have been connected and fit into the case, they should look something like this:

Now, when plugged in, the switch in the back will turn the LED panel on, and the button on the front will cycle through the colors programmed into the Arduino.
To program the Arduino:
- Follow this link and download all files and folders.
- Using Arduino IDE, load all three files in the Libraries folder onto the Arduino.
- Upload the Neopixel Firmata to your Arduino.
- In Snap4Arduino, open the Libraries menu and import the Snap Blocks XML file.
Parts needed: