Warping Infinity Mirror

31,278

340

40

Posted in TechnologyLeds

Introduction: Warping Infinity Mirror

About: Analog maker dabbling in digital manufacture

An infinity mirror is part of an upcoming build of mine. There are lots of great descriptions of how to make these on the site already, and I checked a lot of them out - especially Ben Finio's excellent and encouraging Arduino-powered version. However, I was keen to leverage my novice skills with Fusion360 (the first solid 3D modeling program I've used) and 3D printed the enclosure for a flexible string (rather than a strip) of LEDs. I was very happy with the look of the final product - the diffusers made it easy on the eye, it had an interesting exposed look to the wiring, and I liked how the back of each LED case glowed. The first one I made was 6" in diameter and had 25 LEDs: this one is 9" in diameter and has 50 LEDs (the entirety of one string). If you've never made an infinity mirror because it looks too complex, but would like to and you have access to a 3D printer, try this one. It doesn't use much resin (and needs no support material) and no significant making/computing/programming/wiring skills are required. It also has an interactive twist: a handle on the front allows you to warp the mirror, creating interesting wormhole effects.

You can also tune the position of the rear mirror, but because it is made of glass, you can only tilt it, not warp it.

Step 1: Parts

I've tried to make this build as kit-like as possible, but you will still need access to some modern making facilities: a laser cutter and a 3D printer. However, the laser cutting job is just a simple circle and the 3D print has been designed to be printed in 3 low-volume parts with no supports required, so the actual procedures are not difficult. Very doable at any makerspace. You will need:

- One-way acrylic mirror
- 9" diameter round mirror
- addressable RGB LED string
- Arduino Uno or similar
- 5 V power supply
- Wire
- 3D printed parts

The 3D printed parts were designed in three pieces, for two purposes: I wanted the infinity mirror to be easy to assemble AND easy to print. Printing without supports is always desirable because it saves resin and cleanup. Print the three pieces flat side down. They're all under 10" in diameter, so any 3D printer with a build area of at least 10x10" will be able to print them just fine. Print in black if possible. I used a Stratasys Fortus, and the base, middle and top used 3.1, 0.7 and 1.5 cubic inches of model material respectively.

If your build volume is not big enough to print the part in one piece, chop it up (e.g. using Meshmixer), print separately, and glue back together. The final product will be plenty strong enough because the glue joints can be offset.

Note there are two "top" parts, one warping, one not. The warping one is just taller, to allow the mirror to move.

Step 2: Laser Cut the Mirror

You will have to find a laser cutter (or service) to do this. An EPS file is attached with a line thickness of 0.001". You may also be able to find a service who will source and send you the cut one-way (sometimes called 2-way or see-through) mirror acrylic circle, but it's not one of Ponoko's materials. If you know somewhere that will do this, let me know and I will add a link to this step.

If you want to add the interactive warping effect, cut the attached EPS file out of 1/4" clear acrylic. Yes, it is small, but that is intentional: you don't want it to block much of the mirror, nor allow someone to apply too much force to the mirror. The desired effect can be achieved even with very slight distortions of the mirror. You should be able to find a piece of acrylic big enough for the job in the scrap bin of whatever shop you're in.

Step 3: Assemble

Place the (clean!) 9" mirror into the bottom of the baseplate.

Slide each LED into the appropriate slot in the base plate until it is seated at the bottom. I didn't take any special care with wire arrangement, but you could probably achieve a nice effect if you did.

Add a little E6000 adhesive to the top of each post, and clamp the middle piece in place.

Once dry, carefully remove the covering from the one-way mirrored acrylic. This material has a very thin layer of foil on one side that is easily scratched. Handle gently. We're going to put it FACE DOWN on top of the ring.

Now add some glue to the back of the uprights between each LED, and lower the top plate over the mirror. If you want the warping effect to really pop, the mirror has to be free to distort and tilt.

Step 4: Program

For some funky effects, we're going to hook this up to a Arduino Uno. One of the ground wires goes to the 5V supply (-) connection, the red wire to the (+) connection. The othe blue (ground) wire connects to the GND on the Arduino, and the remaining wire connects to pin 5 on the Arduino. Just mimic the photo if this is confusing.

Plug the Arduino Uno into your computer. You will need the free, open-source Arduino software. To run the LEDs, you will also need the FastLED code available at https://github.com/FastLED/FastLED. Download it as a zip file and extract it to .../Documents/Arduino/. Replace the file FastLED.h with the attached version. You should now be able to run any of the programs installed in that package, or write your own. Just launch Arduino, hit File... Open... and browse to one of the .ino files. Change the pin number to the one you're using (DATA_PIN = 5, if you followed the previous step) and the number of LEDs to 50 (NUM_LEDS = 50). Compile the code (check mark) and send it to the Uno (right arrow). If everything is connected correctly crazy patterns will emerge. You can of course also write your own or source other programs from elsewhere.

You can do this more elegantly with a Teensy and a single power supply. I will be doing this shortly and will post the build in another project also using an infinity mirror once it's all done (stay tuned!). Be prepared for lots of soldering though...

Thanks to Scott, Anouk and Blue for help with the electronics and photography.

If you make a warping infinity mirror (or one 3D printed from the files provided), post a picture here and I'll send you a premium membership to instructables.com.

Share

Recommendations

  • Spotless Contest

    Spotless Contest
  • Microcontroller Contest

    Microcontroller Contest
  • Space Challenge

    Space Challenge
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

40 Comments

Can we also include text in the infinity mirror by engraving it on the acrylic glass in front of the mirror(without any warping effect)?

1 reply

yes I don't see why not

Hy, So I bought the LEDs you linked, but now Im standing infront of a bigger problem. I never worked with such LED strings so how can I connect them to the PSU and the Arduino, I cant find any instruction to do that?

3 replies

See my comment above -- and just attatch like the photo in the instructions ..

"the white
wire within the female plug is your DIN. The blue wire within the same
connector is unused. The lose red wire, stripped is 5V, the lose blue
wire, stripped is ground"

Read step 4, and mimic the set up in the 4th photo

Just got it all rocking'n'rolling :)

Key info (form Amazon comments) ...

"the white
wire within the female plug is your DIN. The blue wire within the same
connector is unused. The lose red wire, stripped is 5V, the lose blue
wire, stripped is ground"

Also - for newbies like me .. note that the lights only blink once quickly when power is connected to them. You NEED the Arduino board hooked up to actually get the lights to turn on :)

Thanks!

Key

Hi :)

The link to the addressable LED's is broken.

Would you be so kind as to fix it?

This is going to be my first instructable i ACTUALLY make :)

Thank you!

3 replies

Thanks for letting me know. Try this link (also fixed in instructable). Unfortunately, I haven't been able to find a stable link for these.

Ahh - thank you. I see these are "Spiral" LED vs. Square or Round?

Is that a design decision?

Just wondering as these are not "Prime" and I would have to be .... Patient !?!? :)

Than you!

these are prime but they only have one in stock. As far as I can tell from the photos (and my own experience of buying multiple batches), they're all the same.

My apologies for taking so much of your time. The 3D Hubs vendor uses SolidWorks. He asked if you would share the source file, especially if you use SolidWorks. He's using the IMBase2.stl file, and responded (and I hope it makes sense to you!):
'Looks like the original design used a pattern to create the standoff details. Each of those are overlapping each other a little bit and that is what is causing the issues. Also, the top details aren't completely attached to the base.'

I

1 reply

OK. I used Fusion360, so that's not going to help. But I think I've found the problem: I didn't combine all the solid bodies I generated into one. That's been done now, and I will shortly upload IMBase3.stl. It clearly didn't matter for the Fortus, but is equally clearly a problem for other systems. Thanks for flagging this, much appreciated.

Hold the phone... keyboard or other preferred communication device! The 3D Hubs vendor thinks that he has this sorted out. He's doing a print overnight to verify the solution. When he lets me know the solution, I'll definitely pass it along.

This is the message I received and the images it references:

'IMbase.stl has some geometry issues, though. I have attached some
screenshots. The first is what I assume it is supposed to look like, the
second shows intersecting triangle problems, and the third shows how it
would print. It may still work as-is, but wouldn't be as clean as it
should be. You can see in the third image the full and partial gaps
created by the geometry problems.'

I requested PLA as the material.

image1of3.pngimage2of3.pngimage3of3.png
1 reply

Very strange. I've uploaded a new base file, in case it got corrupted somehow (IMBase2.stl). Try that. Printing it on the Fortus was entirely routine and I can't see any issues with the STL in any program I've tried. Do you know what platform the 3Dlabs person is using?

The 3D Hubs vendor is having some trouble with the IMBase.stl. Should i post those questions here, or is there another method for that type of thing?

1 reply

I'm curious to know what the issues are, so sure, share them.

The most amazing infinity mirror i´ve seen!