Infinity Mirror

by Kristofer Berrett

With the TESPuino-S3 or the TESPuino-32 and a few simple materials, you can build your own Infinity Mirror, with customizable lighting features to create an amazing optical illusion.

List of Materials

The following materials were used in this project. I’ve also included links to the specific products I used.

  • TESPuino-32

  • Shadow Box

  • Reflective Window Tint

  • Mirror

  • NeoPixel Strip

  • Power Supply

Instructions:

How to Build the Infinity Mirror

The first task with this project was to build the box itself. For this, I used a off the shelf shadow box from hobby lobby. There are a lot of options for a shadow box. I went with one that was deeper as opposed to a shallow one so that the effect of the infinity mirror was enhanced. The more space that light has to travel, the deeper the box will appear.

Construction of the box was fairly simple. I first removed the front pane of glass from the shadow box and, following the instructions provided in the window tint packaging, added window tint to the inside of the glass. This allows the light that comes from the inside of the box to bounce and reflect between the mirror and the pane of glass.

Next I had to cut the LEDs down to size. My initial plan was to have four light strip layers. I started by cutting four strips, with each one being long enough to run around the entire box. However, after attempting to install the light strip, it was clear that making the corners tight would be an issue. Instead, I cut one foot sections of the light strip and installed them so that they were tight into the corners. The back of the light strip is adhesive, but to make sure that they didn’t move, I added hot glue to tack them down.

After that it was a simple job of soldering the one-foot sections together in the corners. Well simple for Levi Hancock. I got him to help me with this part.

Once all the lights were in place, I had to drill a hole in the side of the box to the outside to run power and data from the TESPuino and power supply.

Soldering the end of one strip to the beginning of another.

Linking the signals at the corner.

A hole cut to allow data, power and ground signals to the LED strip.

Coding

I performed the coding in the arduino IDE. To program the TESPuino with the arduino IDE we use the Espressif pre-loaded boards, it works great. For this project I set up the IDE by using the “ESP32S3 Dev Module” board in the Arduino IDE as I was using the TESPuino-32 module. Once you’ve loaded this board, there are a host of examples that you can use to start a project. I used the “Simple WiFi Server” as a starting point, and then added the control for the neopixel. The code is pretty rudimentary, but with a little more effort, it would be pretty simple to add animations or change effects. Feel free to take a look below or copy and use.

Testing

Once I loaded software on the Tespuino, it was pretty simple to make it work. I opened the serial monitor and got the IP address of the Tespuino.  I made sure I was on the same network as the Tespuino, and then went to the address given and found the webpage that I had set in the arduino sketch. When I pressed the button on the screen, I’d get the appropriate response from the Infinity Mirror. Check out the video for more details.

Conclusions

All in all, this was a pretty simple build, and the effect of the infinity mirror is pretty cool to see on your desk. This is a great build that will introduce you to programing the TESPuino with the Arduino IDE.

Next
Next

Game Controller