go home
📺













Final Project




Final Project: infinity Mirror LCD rotation



What does it do?


This is a 3D display. Using two 3D illusions combined. One is an "infinity mirror" with an LCD screen and another is forced persepctive combined with the rotation.

Who's done what beforehand?



Quiet Nerd on youtube made a demo of it The next spiral is to have it rotate and produce a forced perspective video to enchance the 3d effect.
I am not a fan of his work in general, but I was inspired by a Beeple piece that does this that I saw im Miami. you can see a video of it here In this video it is more convincing that it is 3D because videos are monoscopic, in person it falls a little flat (hehe). I thought adding some stereoscopic depth to the screens would help with this.

What did you design?


using 4 TFT LCD screens, to create an inifinty mirror effect, and light it so the effect works. Then putting it on a rotating platform which is synced with perspective distortion so that it looks like the screens are windows into a 3D space.

What materials and components were used? How much did they cost? Where did they come from?



I got these smaller screens to experiment with:
waveshare General 2inch IPS LCD Display Module 240×320 Resolution 2.0inch Monitor Embedded Controller RGB, 262K Color Display Color LED Backlight ST7789 Driver SPI Interface

Semi-transparent mirror. I got 3, at 20$ each

What parts and systems were made?


The casing, the electronic wiring, the code. The casing was fabricated and painted.

What processes were used?


Lasercutting, embedded programming, CAD, PCB design and printing (even though it didnt make it to the final design)

What questions were answered?


I was wondering if this couls create an illusion of a 3D pbject in front of you. This can create a convincing illusion but it really needs to be fine tuned.

What worked? What didn't?


The forced perspective illusion didn't work because I spent too much time working on the casing and not enough time on the software, or figuring out how to communicate the spinning frequency with the Arduinos. The casing ended up looking nice but the room was dark so it ended up not mattering as much as I thought it would.

How was it evaluated?


Evaluation was whether it has a convincing illusion of there being a 3D object in front of you. It failed that. I also wanted it to have a supernatural feel to it, which it kind of did have. This was mostly done by the casing, and the infinity mirror setup, and the pedesal I put it on.

What are the implications?


There is potential that this could be a fun 3D display. Horishi came up to my piece and had a lot of feedback which was inspiring. He wanted it to bring the illusion even further, for it to have a narative. I like this feedback because it is a natural progression of the project. Now that the technology is (almost) in place I am just getting to the fun part of thinking about how it can be used for more than a demo.

Creation documentation

When ideating I wanted something that didn't need much explination, when you see it you just get it, so that it could be a success at demo day. But I also wanted it to be something that I couldnt just buy myself. I wanted to utlize my new skills in an applicable way. my past ideas are documented here. They were either not exciting enough to me or would be too much to have to explain during final presentation day.
I came up with the idea a week before final presentation day.

I knew I had to work fast to get it done so I started trying to work out the software
immediately, that's where I ran into my first issue.
https://dronebotworkshop.com/esp32-cam-microsd/
This helped me understand why I wasn't able to use my SD card; it illustrated the format and size that it needed to be.
I was able to write to the SD card using this

Then I was able to find out that I could write bitmaps to the using dragon example: PictureEmbed from the driver library
https://www.reddit.com/r/esp32/comments/nvgt1p/disabling_auto_flash_on_the_esp32_cam/
This told me that the SD card uses the same pin as the flash on the ESP32, and the fact that the flash was on made it so that I turned off the flash in my code, but it wasn't working everything I tried. I am trying to reassign the RST pin to an unused slot 16; I don't know if this will work!!
Maybe this isn't the problem; the problem could be that the SD card slot is broken. I don't know what the problem is.
The error I'm getting is
E (51451) sdmmc_req: sdmmc_host_wait_for_event returned 0x107
E (51451) diskio_sdmmc: Check status failed (0x107)
E (52451) sdmmc_req: sdmmc_host_wait_for_event returned 0x107
E (52451) diskio_sdmmc: Check status failed (0x107)

So when I use the TFT while reading from SD card, that's the issue
I think it might be "browning out"
So I am using the timelapse sketch again now to just see if it can write to SD card while TFT is initiated.
That didn't work

What is SPI mode? Some questions here make me wonder if that's the problem:
https://esp32.com/viewtopic.php?t=2604
This also points that a lot of people run into the same issues I have been having.

I took a break to work on the motor,
the motor I got from MicroCenter works well if I underdrive it using a potentiometer. It's still a little fast, but I don't have time to print out motors.
http://www.lcdwiki.com/3.5inch_Arduino_Display-Mega2560
Now I am moving on to trying to get the screen to work. I want to give up on the small one; maybe this will solve my problem

My goal for tonight is to cut my PCB board.
For me to do that, I want to know what screen I'm using. I will try to get this to work for a half-hour until 4:30 then

Okay back to my LCD
I am using Arduino GFX library, which claims to have drivers for the screen as well as a data bus that checks out with the ESP32S, but I'm not going to get excited because it could NOT work, especially with getting the SD card on the screen to work? I don't know how to start to think about that one.

Tomorrow I will put the slipring in here https://www.amazon.com/dp/B002Y289VO?psc=1&smid=ATVPDKIKX0DER&ref_=chk_typ_imgToDp and then design a small part to put it all together.
I wish I had another week.

I couldn't find a slipring that wasn't super expensive to work with USB, so I opted to use battery banks. I bought two at Walgreens and tested it! It works!
Now on to designing the casing. This is important for the effect because we want the inside to hold all the light and the outside to be darker. I am still regretting this project for that reason. It means that to demo it on Tuesday I will need to put a box over it or something.

I will be parameterizing everything so that I can easily print this out for different screen sizes
I used this website to determine my kerf: https://cutlasercut.com/drawing-resources/expert-tips/laser-kerf/
I found some scraps that fit my needs. I measured 1.78mm thickness

It took me a while to get the settings right, but it ended up being speed 1.6, power 100, dpi

It was too flimsy but a really good first prototype! It helped me vastly to have it in this realm, instead of the digital realm.

David happened to be in Mars and showed me a few fusion tricks that sped up my re-design, like using the x key to make guidelines. I parameterized everything so it could be easily modified and thank god I did because I made a lot of mistakes.

I then designed a PCB to work with the TFTs I had gotten it to work with on the breadboard.




I didnt end up using this board because for the life of me I couldnt get the larger screens I got to work with any TFT ino library. The board worked okay, it worked with my smaller screens but when I hooked up the board with the correct driver and data bus the screens were still white. On the amazon page for the larger screens everyone was using it as a sheild to the arduino mega, so I caved and bought 4 arduino megas.


Key takeaways


I am overall dissapointed in the final product. I am mostly dissapointed with how I presented it, I re-watched a video of what I said and it doesn't make much sense. I should have practiced what I was going to say beforehand. This was difficult but I like doing difficult things, so I am happy I had a space to try something that was inspiring to me and a place where effort and perserverence is valued.
final Project process