book collections email follower instructable user

A 'Magic MIrror' is a project where a 2 way mirror is placed over a screen of some sort. Where the screen shows black pixels, the mirror is reflective. Where the screen shows white or lighter pixels, they shine through. This creates an effect of being able to have digital text, icons, or even images show through a mirror, while still maintaining the reflectivity. The third picture above should show what that can look like.

The youtube video shows the assembly end to end, and has a demo at the end showing what the finished project looks like. I wanted to take time to write down the steps here, as I enjoy the instructable community, and I wanted a place to make notes about things like the software configuration, and answer questions.

I've seen a ton of magic mirror projects and have always wanted to build one. I started to build one recently as a gift, and had no idea how much the 2 way mirror portions can cost! After spending $75.00 (USD) on a mirror alone, I realized that the project was going to go well out of our 'friend gift budget' and I had to rethink my strategy. After discovering N-O-D-E's channel on youtube, he had a concept of a small pyramid case. I immediately began to run with that concept, experimenting with what raspberry pi's I could fit in, how to easily create the case, and how to get the software running.

In the end I chose to 3D print the case. I designed the case in tinkercad. It's two simple pieces that easily snap together. The Mirror is a 4.5" mirror that is simply glued (glue gun) onto the frame. The main computer is a Raspberry pi zero with an 8 Gig micro SD card, and the screen is a 3.5" screen from Kuman that had an HDMI port already on it. Honestly 75% of this project was the tinkercad design for the case, and figuring out a screen that would fit, could be powered easily off a single USB cable, and customizing the software.

Here's the cost of the parts to give you a rundown. It's under 60 dollars if you have a 3D printer...otherwise you'll want to either hire out the 3D print, or possibly build a wooden pyramid frame (I ALMOST went that route, and may in a future instructable, as I think a stained oak case could look really cool for this :) )

Raspberry pi Zero W - $10.00 - - Limit one per order

8Gig Micro SD Card - $4.00 -

Kuman 3.5" TFT Screen - $29.99 - - HDMI Version

SN-Riggor USB Cable (Optional, but adds some flair) - 4 for 16.00 ($4.00 each)

2 Way mirror - 115mm Square - $5.00 from Tap Plastics (I brought the 3D printed case into a store and had them cut it to match)

3D filament - About 2 bucks worth

Mini-HDMI -> HDMI adapter - 2 for $6.00 (Only need one):

In the end I had some of the adapters already, but you should be able to get these for the above prices or better, and in the end be under $60.00. Since this was about how much we'd spend if we got each other an Xbox or PS4 game, this fit into our 'friend budget'.

Ok, enough of an intro, let's learn how to build it!

Step 1: Step 1 - Assembly the Compute Portion

Picture of Step 1 - Assembly the Compute Portion

The first pic shows all of the parts laid out. The second shows the compute portion assembly in progress. There's not a lot of magic at this's the steps:

  1. Make sure you do NOT solder the headers onto the pi zero. You'll need all the space you can get!
  2. Place the Mini HDMI to HDMI port on the Pi Zero
  3. Place the HDMI->HDMI adapter that comes with the Kuman screen into the HDMI Slot
  4. Place the Kuman screen onto the other part of the HDMI adapter..this should fit into the female HDMI port on the Kuman screen
  5. Place the USB cable through the back of the pyramid
  6. I've annotated the picture with the power wires, and added the pi pinout. This step is critical, but a lot easier than it'll want to run two small wires from the first and third pin on the Pi over to the screen. If you use jumper wires, you can plug them into the back of the screen, and then bend them around the pins on the pi and hot glue them. Ideally these should be soldered on the pi, and hot glued to hold them into the screen. This passes 5 volts from the pi to the screen, and is one of the tricks on keeping this project clean and neat...once this is done, a single cable powers the pi and the screen sufficiently!

At this point you're already about halfway done with the assembly. Before closing it up, let's get the software image written in the next step.

laz1236 months ago
pls post another instructables if you do an updated version
jfarro (author)  laz1236 months ago
I definitely will! I’m likely going to do a laser cut wooden one with a raspberry pi a+ at some point but honestly I’m probably six months out as I’m not in dire need currently of another (yet!). I’m working on some cool data sources first that I’d like to have the mirror display :)
laz123 jfarro6 months ago
how big is it? will you do a bigger one next time - maybe wall hanging!
jfarro (author)  laz1235 months ago
This one is about 5.5 inches. I purposefully kept it small for this project...there are a ton of bigger ones out there, so I wanted to do something differnet. I do have a large one I'm working on, but to make it different I'm adding quite a bit of functionality to it. The next one I do will likely be this size though, as I find it works out well as a 'side display'. We'll see!
OculumForamen7 months ago
Great Instructable bro! The result is really cool! Is there a way to change the color of the display screen to black instead of blue? The screen is still slightly visible with the screen having a blue background. Other than that, it's a superb idea! You could even put in on the side /top or bottom of Larger mirror hanging on the wall!
jfarro (author)  OculumForamen7 months ago
Hi Thankyou!!! So the camera's not doing a great job of showing it, but what you're seeing is the backlight of the monitor coming's actually 'white' but looks bluish through the mirror...on the webcam. So the problem is more of a dimming the backlight to hide that effect vs. a color change. The good news is that it IS possible to fix...the monitor I used (the Kuman) has a button to change the brightness by 10%. The downside is the text gets a bit dimmer as well, and wouldn't have shown up on film as well. For 'in real life' it works fairly well. I'm looking for a tinted plastic or something I can put between them for my next version to try to increase contrast...which is really what you'd want to fix that bleed through. Glad you enjoyed the instructable!