Introduction: Infinity Mirror Coaster

About: Just a guy who likes to build stuff. Please consider subscribing to my YouTube Channel for more awesome projects.

In this project I will show you how to build an infinity mirror coaster with a custom 3D printed enclosure!

Step 1: Intro

I recently found an infinity mirror from the 1980s at a local salvation army. It was broken but after adding a few leds to it, I got it working again and it looks awesome. I started looking around my apartment for an excuse to make my own from scratch and found we needed some new drink coasters so I decided to see if I could make some with infinity mirrors in them. Fast forward 3 weeks, and I bring you guys these 3D printable infinity mirror coasters.

It was a super fun project and could be used as a great introduction into 3D design/printing, electronics, PCB design, and programming.

Please consider subscribing to my YouTube channel to support me and to see more fun projects.

Step 2: Components Needed

The components needed for this project are below:


1. Clear Acrylic Plexiglass 1/8" Thick, 4 Inch Diameter (Amazon)

2. 3.7V 1500mAh Lithium Polymer battery with JCT Connector (Amazon)

3. 4" Round Mirror (Amazon)

4. One Way Window Mirror Tint Film (Amazon)

5. Access to 3D Printer (I have a Prusa i3 MK3 but have used these before and they work great Amazon)

6. 3D Printer Filament (I always used this brand Amazon)

7. WS2812B LED Strip (Amazon)

8. Attiny85's (Amazon)

PCB Components

1. 1x 609-4050-1-ND - USB2.0 MicroUSB SMD

2. 1x 455-1719-ND - CONN HEADER R/A 2POS 2MM

3. 1x P10880S-ND - SWITCH TACTILE SPST-NO 0.02A 15V

4. 1x EG2585-ND - SWITCH SLIDE SPDT 500MA 15V


6. 2x 1276-1907-1-ND - CAP CER 4.7UF 6.3V X5R 0603

7. 3x 493-2098-1-ND - CAP ALUM 220UF 20% 10V SMD

8. 1x 160-1446-1-ND -LED GREEN CLEAR SMD

9. 1x A129806CT-ND -CRGCQ 1206 470R 1%

10. 1x RNCP0805FTD10K0CT-ND -RES 10K OHM 1% 1/4W 0805

11. 1x P2.0KDACT-ND -RES 2K OHM 0.1% 1/8W 0805

Disclosure: The amazon links above are affiliate links, meaning, at no additional cost to you, I will earn a commission if you click through and make a purchase.

Step 3: How the Infinity Mirror Works

Infinity mirrors work by placing two mirror surfaces so that they bounce the light that is caught in between them seemingly to infinity.

For this project, I used a standard 4 inch circular mirror and a 4 inch plexiglass circle that I put partially reflective mirror film onto. This lets us see into the plexiglass one way but on the inside of the coaster, the lights will be reflected against the mirrors.

Check out this beautiful drawing I made to help explain (I missed my calling to be an artist!).

Step 4: Electronics

Now that you have gathered all of the required components, it is time to start assembling everything together. I would recommend wiring up and testing the led section on a breadboard with an arduino first. The lithium ion circuitry I would just wait and put it on the PCB.

The schematic is fairly simple, on the left there is a micro-usb port that will be used with our MCP73831 lithium ion charge management controller. It is connected in a typical configuration with the 2K resistor between PROG and VSS to set it at a 500mA charge rate.

On the right we have our Attiny85 controlling our led strip. There is an on/off switch for main power and also a push button with a 10k pulldown resistor. The push button will be used to change the light show modes for the lights.

There are alot of great tutorials online for surface mount soldering so I won't explain that (Partly because I suck at it lol).

All of the gerber files can be found below.

Step 5: Programming the ATTiny85

I will assume that you know how to setup the Arduino enviroment to program the Attiny85 but if not there are many great tutorials online.

You will need to install the Adafruit Neopixel library in order for the code to compile.

Other than that the program is fairly simple but you are required to fill in the amount of leds you have in your circle, I ended up having 20 but it depends on what led strip your have. Once you enter in that value then compile and upload to the Attiny85. I used sparkfuns tinyAVR programmer because it makes programming these chips very easy.

Step 6: 3D Design/Print

I designed the scale in Fusion 360. The PCB and lithium ion battery can be placed inside the base. I wanted to limit the height of the coaster so the PCB has several surface mount components on it.

The top section has a lid which holds the led circle, regular mirror, and the one way mirror. There is a small slot to let the leds wires through to the bottom of the case.

I chose this design after trying a few others which I ended up not liking for various reasons. I really like this one, as it is fairly slim and comes together to look pretty professional in my opinion.

The files can be found below:

Thingiverse Link

Step 7: Assemble It Together

Once you have your PCB made and all your 3D printed components ready to go, its time to assemble it all together.

First take the one way mirror insert it into the top lid, then put the led strip on the circle, insert the circle, line up the led wires up to the opening slot, and then finally place the normal mirror behind all of it.

Then insert the PCB and battery into the appropriate slots and connect everything up.

The top section should press fit into the bottom section but I did design in some space for some small screws if needed.

Step 8: Test It Out!

Now that you have the infinity mirror coaster all assembled and programmed, it is time to test it out!

Push the power button, hit the mode change button, and enjoy your new infinity mirror coaster. Please consider subscribing to my youtube channel to support me and see more projects/videos. Thank you for reading!

Multi-Discipline Contest

Participated in the
Multi-Discipline Contest