I had toyed around with MagicMirror before. My friend had dissected an old laptop and made a smart mirror with reflective film and a picture frame; all items he had lying around. It didn’t quite hit his mark for quality, but I always thought about making one.
(This post is a work in progress. I owe it more pictures and verbosity to make this guide more robust.)
So I shopped around for the parts I needed:
- Raspberry Pi 3 B+
- Power Supply for the Raspberry Pi
- MicroSD Card (8GB will do, but this 32GB card was cheap)
- Two-May Mirror 12″ x 24“
- 20″ Monitor (I picked this one because it was cheap and had speakers)
- Plate Hangers (Odd, right? I’ll explain shortly)
- Electrical Tape (Black)
The Software
I would recommend getting some familiarity with Raspberry Pi and administrating them through SSH before embarking on such a project. It makes this whole process much smoother.
MagicMirror requires a full Raspberian installation (with desktop), which you can find here. I use Etcher to put the image on the SD Card, setting the Raspberian zip as the image (don’t worry, Etcher can deal with zip files) and the MicroSD card as the drive.
Once the image is ready, plug the SD card into the RPi. Plug in a keyboard, monitor, and mouse. Power on the RPi. You’ll be presented with a user desktop. I recommend you change the user’s (“pi”) password to something unique. Set up your internet connection. MagicMirror isn’t exactly bandwidth heavy, so wireless should be just fine.
As the standard “pi” user (NOT as root) Execute the following command on your Raspberry Pi to install MagicMirror²:
bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
This will install all packages necessary to run MagicMirror. you may be asked if you want to replace the boot screen and configure MagicMirror to run at boot. I’d recommend yes to both.
The basic configuration will come up, complete with the default modules . Configuration of these modules can be found in:
~/MagicMirror/config/config.js
If you want to install additional modules to expand your mirror’s capabilities, you may find plenty here. Or, write your own, like I have (1) (2).
The Hardware
The real trick to a smart mirror is making the hardware look good. I wanted a simple clean look; everything stripped away so there is not one unnecessary piece on it. I carefully removed the plastic casing from the monitor’s internal components. I used black electrical tape around the edges of the screen to ensure no unnecessary light bled through and add a bit of friction when it is pressed against the glass.
Now to the odd part. I used the plate hangers to hold the monitor firmly against the glass. This gives me the flexibility to remove or even replace the monitor without dealing with any glue or cutting a new frame.
Currently, the mirror on a stand. I am still thinking of the best way to hang it. I plan on adding some hardware to properly mount it to a wall, as well as cleaning up the cabling so it’s not so messy. I’d also like to add a microphone (for google assistant integration) and a PIR Sensor so the monitor turns off when no one is around.