Magic Mirror: Part I - The Idea & The Mirror by Michael Teeuw
Being a guy while visiting a shopping city with your girlfriend may cause your mind to drift away while walking thru Macy’s. Or at least, this happened to me while i was visiting New York last january.
Long story short: while wandering around I noticed a mirror with an illuminated sing on it. This is something i could built myself. Only better. I wanted my own Magic Mirror!
(Ok, a mirror like this would be awesome. But this is not what i mean with Magic Mirror …)
Once home, I started to figure out what was needed: a mirror, a thin monitor, a Raspberry Pi, some wood and paint, and lots of spare time.
The Mirror.
Now, a regular mirror would not work. The mirror needed to be semi transparent. Or to be more precise: it should behave like a mirror when the screen behind it was black, and should behave like a regular glass window when information is displayed on the screen.
This is the same idea how a mirror in a police interrogation room works. When only one room is light, it behaves like a mirror. Otherwise it’s a regular glass window.
What i needed was a observation mirror. Now, believe me when i say you’ll be asked weird questions when you ask a glass salesmen for an observation mirror. They are probably have even more creative minds … Oh well, a dirty mind is a joy forever.
Anyway, eventually I was able to get my hands on a nice piece of observation mirror: let the fun begin!
Magic Mirror: Part II - The Monitor
After I solved the mirror issue, it was time to get my hands on a monitor to incorporate into the Magic Mirror project.
In my journey searching the right monitor for my Magic Mirror, I had to make some difficult decisions. Did I want to buy a new monitor or should I use a cast-off? What size did I need? Wat was the thinness possible monitor to get? How would I be able to move the control buttons? And was the monitor bright enough to counter my personal shiny appearance?
Since I would be using the monitor in portrait orientation, choosing the right size was mostly about the correct width of the monitor (resulting into the correct height of the mirror). After a few measurements and some tryouts by sticking tape on the wall where I planned to eventually mount the mirror, I figured 24" would be the perfect monitor size. The additional benefit of this size is that most (cheap) 24" monitors have a native 1080P resolution. Exactly the resolution I wanted to use for this project.
In a quest for the right type and brand, i visited most electronics shops in 20Km radius. I’m sure the security guys kept a close eye while is inspected the back and bottom of all displayed monitors.
Most brands were immediately rejected because the power and video connector were mounted to the back. I needed connecters that were mounted to the sides.
Eventually I figured iiyama monitors met most of my expectations. They are relatively cheap, have a small bezel, simple touch buttons and the right connector orientation.
Still, I didn’t knew if the casing was easily removable and how the control pad was connected and mounted on the inside of the monitor. In some weird way the salesmen didn’t allow me to brutally open the monitor’s casing. So it came down to mostly luck.
I ordered a 24" iiyama monitor: E2481HS-B1. To make sure the monitor would be “air tight” against the mirror, I removed the casing. It’s kind of nerve wracking to do this when you’ve just unboxed the monitor, but hey, living on the edge …
The nice part about this iiyama monitor is that the display controller (the electronics in the metal box) leave plenty of room around for the rest of the parts needed to make this mirror come to life while remaining it’s thinness.
The actual display panel is only 9mm thick, and has a tiny bezel of 10mm. When I include the display controller, it came down to the following dimension: 556mm x 323mm x 46mm (+ 6mm mirror). These dimensions would form the basis for the new wooden casing.
Magic Mirror: Part III - The Casing

After measuring the dimensions needed for the new casing, DIY happiness could start. Using pine wood I create a strong and steady frame. For the bezel holding the mirror and monitor in place I used wooden floor plinths. Reason for this is that they were the exact perfect size (30mm width), and have a rounded bezel.

Since the monitor would probably generate some heat, air ventilation holes were necessary. Also a nice and firm mounting point was added on the back of the casing.
A small spoiler: the end product weights 6.5Kg. The fact that I created a double mounting point was probably a spot on ‘guestimation’.


Additionally, the bottom of the casing I created a small slit to act as a cable tray for the power cable.

Of course, it needed some color, so after applying (way to much, something I really regreted during the sanding …) putty, some ground paint and a nice shiny toplayer (2x), the new casing was done.


There was one piece of carpentry I needed to do: to mount the monitor and mirror I created 4 mounting blocks. ready to screw on the inside of the frame.

This concluded my carpentry job. Time for the next chapter of project 'Magic Mirror’. The installation of hardware.
Magic Mirror: Part IV - Install The Hardware
The Magic Mirror started began to take shape. I ordered a mirror, found the right monitor and finished the sleek white casing. It was time to start the installation of the hardware.
So far I had the following parts:
- The Monitor
- A Raspberry Pi
- A HDMI Cable (to connect the Raspberry to the Monitor)
- A USB to micro USB cable (to power the Raspberry Pi)
- A power cable to power the monitor
But then I figured a had a small setback. During the search for the right monitor I completely forgot the check if the monitor had a powered USB port to power the Raspberry Pi. I assumed that modern monitors were equipped with USB by default. But I was wrong. No USB.
It wasn’t unsolvable, but I did want to power the Magic Mirror with only one cable. So I needed to split the power between the monitor and a separate 240V USB power adaptor. Additionally, I wanted to connect the Magic Mirror using a regular C13 power cable.
So it came down to constructing my own Male/Female power cable with USB adapter in between. After some digging in my unused cable drawers I found a cheap old USB adaptor suitable for this job.
Opening the adapter was more easy than expected and with a little bit of soldering work, some glue and isolation tape, i managed to fabricate a professional looking adapter cable.
To make sure the cable was functioning properly, I did some dry-runs. I simply connected all elements, plugged in the power cable and turned on the monitor. The Rapsberry Booted without any issues and the USB adapter didn’t create any significant heat. Perfect!
Until, 10 minutes later, second setback striked: power outtage. The fuse of the living room was blown, and it wasn’t very difficult to guess what caused it. I unplugged the self produced adapter cable, switched on the fuse and went for a test: reconnect the power cable. This time without any peripheral connected.
With a loud bang, a nice flash and some unhealthy smelling smoke, the USB power adaptor decided that it was time to quit it’s job. For good. Making my self produced power cable totally useless. Back to the drawing board.
I wasn’t able to figure out what went wrong, but the fact that it was a one dollar Chinese Apple imitation probably didn’t do any good. Maybe I’ve damaged the inside during the soldering, or maybe the Raspberry just draw too much power.
Eventually I ended up splitting the Male/Female cable power cable to a IEC320-C7 cable, allowing me to plug it into an official Apple iPad charger after removing the charger’s duck head. The second dry run went perfect: I I didn’t fry any components, didn’t burn down my house and I didn’t electrocute myself. A small miracle.
Time to put everything into place. No bad luck this time: everything fitted just perfectly fine.
Another milestone was reached. This concluded all the physical stuff (besides the two screws that went into the wall …). Time to start the geek part: installing the raspberry.