In the beginning of this year I was asked to participate in the PhabLabs Photonics Hackathon at the Science Centre Delft in the Netherlands. Here they have a great workspace with a lot of machines that could be used to create something that I normally wouldn't be able to make that easy.
Starting the hackathon I immediately thought that it would be interesting to do something with the CNC laser machines that are available there.
In the workshop they had a small lighted acrylic plate standing there that was etched with the patent of lego making a sort of hologram but just one layer so it was just still a 2D image. This made me think what would be possible if I would take several layers of acrylic and create a real 3D holographic image.
I started of with just a sphere and it actually really started to look like a real suspended sphere, playing around with the lighting i came to the idea if it then would also be able to play with the spectrum of (white) light build up out of Red Green and Blue light, would it be actually possible to create white light again with these plates layed behind each other, each plate just using primary light colors, Red Green or Blue.
Step 1: Step 1 Materials and Tools Needed
- CNC laser cutting and etching machine
- Soldering iron etc.
- Hot glue gun
- 3D printer (in early prototyping phase)
- Sanding paper
- Fusion 360
- Arduino IDE
- LEDs (small thin SMD3535 led strips to get the plates close together)
- 5v 10A power supply
- Wiring, just simple thin wires for the 5v leds
materials for "sculpture":
- 3mm acrylic (etched in laser machine)
- Wood, laser to mount the LEDs to and support the acrylic
- 3D print in early prototype for LED mount and acrylic support.
- material to make box, I used foamboard in beginning to make a box fast en later laser CNC cut wood.
Step 2: Step 2: Laser Etching and Lighting Testing
The first thing i wanted to test was the possibility of making a 3d hologram with multiple acrylic plates, starting with a sphere. build up out off multiple plates.
I printed a simple base in PLA with my 3d printer is have myself and added some LEDs I had still laying around.
During this proces I got the idea if it would be possible to create white (light) if I would color the LEDs only red green or blue, having 3 plates in RGB would then in theory make white, but would this also work if its layered.
After mounting this all together and lighting this I found out that it actually sort of worked, it wasn't perfect white but it definitely was mixing the colors in the layers behind it.
I thought that is maybe would work better if I would change from a solid etch to create the shape to dots so the light would be easier to see over multiple layers and actually work as "pixels" but then in 3D.
To perfect the proces I made some test sheets with different density of the dots and also used multiple different settings to tune the laser to the perfect etching strength. You have to tune the laser for the amount of power it uses to etch, the more power you use and the slower you etch will create a deeper etch, and not all work as good as others in this situation. this is different for each laser, I would recommend to use a rather low setting, you don't need a deep etch for this sculpture.
Step 3: Step 3: Final Prototype
For the final prototype I decided to make acrylic plates of 20X20cm so you could se some more details in them and get a better feeling of how it could even look on a bigger scale.
I made a light module where I could place a total of 21 plates in (7X3) because I wanted to use it to test how far it would be possible to go, how many plates could be placed before the effect is lost or like I found out when does it become to get "messy". I found out that 12 would be a decent maximum, going higher resulted in too much blur.
I also tested and played with the distance between the plates, by skipping one plate a time is doubled the spacing between the plates and further, here I also found out that this is quite crucial, when the distance is increased the effect also changes. What I think that happens is that with the bigger distance eyes are better possible in detecting the depth. This then results that the colors blend less.
The light "plate" has a light strip of 9 leds for each plate data line going back and forth zig-zag, with 5v power lines on each side, + line on one side and - line on the other side, making is also quite easy to fix.
5V 10A power supply is used to power the LEDs and the ESP8266 at once.
For the ESP we made a code with some help from more skilled coders at the hackathon, this piece was also an exercise in coding for me. The code I eventually used is a code that fades all the plates as once from RGB to GRB to BRG and back to RGB again in a continuous loop. Grouping the LED control per 9 leds so each plate would have one color, the code controls 12 plates/trips the others are just inactive because I didn't need them. I added the code here.
I also tried to control the LEDs using the wifi on the ESP with artnet and madmapper, but wasn't happy with the results yet, this should work fine but I would first need to have some better understanding on these "mapping" techniques.
Step 4: Lessons Learned
The first thing I learned was working with the CNC laser cutter and engraver. In the past I used these techniques to make models but I never took the time to look into the more precise tuning especially tuning the engraving/etching. Finding out that this makes quite a difference for the resulting light intensity, and not just simply meaning a "deeper" engraving is better, I needed to find the balance of etching just enough but not to much.
For this project I also wanted to have it as a stand alone object so with a coded ESP in this case that controls the LEDs without any other input needed, also because I wanted to get a better understanding about coding, in the past I made some really simple coded, and the codes for this piece still isn't really complex but when I started this hackathon parts of this was still totally new.
Then after these making techniques it came to the understanding of the light. how would this mix and would this even mix? Found out that working with dots instead of a fully engraved shape, creating the "pixels" as stated earlier. First finding out that is works but when I increased the distance between the plates the effect actually decreased again, the perception of the human eye making it work and blending the colors but also something magical happening because your eyes cant graps whats going on, they cant really focus on the depth. But if the distance between the plates is increased your eyes can focus on the depth but then the magic is gone.
Step 5: Potentional Improvements
The first improvement I'm still working on is go het a better and more complex code to control the plates. My goal is to have multiple settings and precoded effects that can be triggered, thats why I also chose to use an ESP because then I could trigger/control these easily using wifi.
Further I want to make a light for just 12 plates like I eventually chose to use, the piece I made now is perfect for this phase of testing with distance and number of plates etc, but now I chose to go for 12 plates I will remake one thats made for 12 plates and also make the mounting of the LEDs a bit better, now they are sticked in there and hold in place with improvised foamboard, over long time this wont be good for the LEDs, I would stick them to aluminium for better heat conductivity and have these as modules so if something would break one strip can easily be taken out and replaced.
For the plates I'm also still testing what to do with the sides, now the sides are just exposed and you can see what color they are lit, I tried building a enclosure around the whole piece but wasn't happy with that because it reflected the light back in. So I started testing with some special 3D printed profiles, painting the edges or using reflective foil to keep the light "inside" the plates.
Step 6: Shout Out
I would like to give some special thanks to the following persons:
- Teun Verkerk for the invitation to participate in the hackathon
- Nabi Kambiz, Nuriddin Kadouri and Aidan Wyber, for assistance and guidance during the hackathong. Helping and explaining all the machines and materials that were at hand and Aidan had great patience explaining and helping this coding noob.
- Chun-Yian Liew, a fellow participant who also made an amazingproject. Chun also helped me out a couple of times when I didn't understand what was happening with coding.