RGB Infinity Mirror
Extremely Simple with Stunning ResultsBy Hannah Moore
Description: RGB Infinity Mirror Kit
Assembly Time: 2 to 3 hours
Skill Level: Intermediate
As a newbie when it comes to electronics, I wanted to find a project with components that I had some experience with. I had previously worked with an Arduino microcontroller, breadboards and circuits, so when I saw an Arduino-controlled RGB LED Infinity Mirror on Instructables, it immediately caught my eye.
This project is fun, not too difficult and has a visually and aesthetically pleasing outcome. The mirror has two modes: one in which you can manually change the colors of the LEDs and the other where the LEDs automatically change and you manually adjust the color fade speed. Get ready to illuminate any room with this mesmerizing light display!
Building an Infinity Mirror
Subminiature Needle Nose Pliers
Sheet of Clear Cast Acrylic (Plexiglass) in same shape as mirror
Mirrored Two-Way Window Tint
Purchase the RGB Infinity Mirror Kit.
Purchase the RGB Infinity Mirror Kit with individually addressable RGB LEDs.
The kit includes:
ABS Enclosure with Clear Top
N Channel Power MOSFET
Square Cermet Potentiometer
70-Piece Jumper Wire Kit
Arduino Uno Rev.3
400-Point Solderless Breadboard
50W Regulated Switching Table-Top Power Supply
3-conductor AC power cord
PCB SPDT ON-ON Slide Switch
2.1mm Breadboard Male DC Power Jack
RGB LED Strip
Step 1: Find the Parts
The very first step of creating my infinity mirror was finding all of the necessary electronic parts. Because I had limited knowledge about the parts I needed, it was a challenge picking them out. But with some help from my co-workers and lots of catalog research, I finally got all my parts and was ready to go.
Step 2: Build the Infinity Circuit
I began by putting the MOSFETs, potentiometers and SPDT switch on the breadboard. Next, I added all the necessary wires. While doing so, one end of a wire broke off into the breadboard and I was unable to get it out of the connection point. Because of this, I had to find a new connection point to put that wire in, but luckily it was an easy fix.
The next problem I encountered was not quite as easy of a fix. While choosing parts I found that there were no power jacks that were the right size for the power supply that also connected to a solderless breadboard. This meant that I had to pick a power jack that fit the power supply and solder new leads on to it to fit in the breadboard.
I had heard several stories of embarrassing failed attempts at soldering, so it was my turn to contribute to the collection of stories. Although my soldering job wasn't the prettiest, I successfully attached new leads to the power jack and didn't burn any buildings down in the process.
The last step in building the circuit was connecting the RGB LED strip to the breadboard. With this step came more soldering, but I was now clearly an expert at soldering, so I soldered with confidence. The wires on the strip were too weak to go into the holes in the breadboard, so I had to solder hookup wire to the ends of each wire on the LED strip to connect them to the board. Now that the final wires were placed on the board and the circuit was complete, it was time to upload the code to the Arduino.
Step 3: Upload the Arduino Code
Before I could upload the code to the Arduino, I needed to download the Arduino software to my computer. I downloaded the software, uploaded the code to the Arduino, plugged my power supply into the jack on the breadboard and was disappointed when the LED strip didn't light up as it was supposed to.
I thought a wire on the board might have come loose or that something could be wrong with the circuit, so I double checked it and found no issues. I looked through the Arduino software and saw that not all of it had downloaded correctly and was therefore unable to upload the code to the Arduino. Once I realized what was wrong and fixed it, I uploaded the code again, plugged in the power and the LED strip illuminated as I had hoped it would.
The Arduino code now allowed me to adjust the colors of the LEDs and the fade speed between colors using the SPDT switch and the potentiometers. The circuit was built, the code was uploaded to the Arduino, and the LEDs were on and controllable, so the last thing left to do was to construct the mirror.
RGB LED Light Strips
Step 4: Construct the Mirror
LED Strips in the Mirror Frame
I chose to get a mirror that already had a frame that was deep enough for me to mount the LED strip inside of it. I decided on a round 15" diameter mirror with a black plastic frame from Target. Any size or shape mirror will work for this project and you can get a frameless mirror if you prefer to make a frame out of something else.
I started by drilling a hole at the bottom of the frame for the wires on the LED strip to go through. The hole needed to be big enough for all four wires, but I also wanted it to be small so it was as unnoticeable as possible. Next, I mounted the LED strip on the inside of the mirror frame, strung the wires through the hole in the frame and attached them back to the breadboard. At this point in the project it is a good idea to test the strip again to make sure the code and circuit are working before you mount the other mirror on top and permanently enclose the LED strip inside the frame.
The next step was a little tricky because it was the step for creating the two-way mirror. To do this, I attached a thin two-way mirror film, typically meant for house or car windows, on to a piece of acrylic that was the same size as my frame. The most difficult part was putting the film on smoothly and not allowing any bubbles to form underneath it. I used a squeegee to smooth out the film and remove as many bubbles as possible, but I unavoidably ended up with a few bubbles that I wasn't able to get rid of.
Once the two-way mirror was finished I cleaned the bottom mirror to remove all fingerprints and specks of dust and then glued the new mirror on to the frame. Drilling the mirror on to the frame is a potentially more stable attachment method, but I decided that my frame was too thin for me to do so. I waited a couple hours for the glue to dry, plugged it in and success! I had an Arduino-controlled RGB LED infinity mirror.
Hannah Moore finished her first year at The Ohio State University and is a summer intern at Jameco Electronics. Her love for math and science drove her to major in Electrical Engineering, which she is finding both challenging and fascinating.