5 years ago I’ve build my first MagicMirror.
Since then I’ve always wanted to build a bigger one in our bathroom, after building a couple more mirrors (as I’m a teacher, also together with students) I finally started this project.
I’ve had a couple of requirements:
- It must be thin! (Achieved, as it’s only 36mm thick.)
- It has to be frameless
- It has to have a good reflection
- Gesture and voice controlled
- Don’t want it to be cluttered with modules, yet show the wanted information
I’ve started designing it in SolidWorks:
Solid Works Design on Youtube
Building the mirror:
The frame is made out of black acrylic and uses the disassembled monitor as frame for it’s strength. Also the added electronics ground plate ad’s strenght:
All the acrilic sheets are joint by different types of finger joints. However The reflection must be perfect (to reach the “wife approval factor” ;-) ). Therefore I’ve painted both the black acrylic as the backside of the mirror glass black. This created an perfect reflection!
However the painted parts gave a new challenge in how to connect the mirror glass to the back acrylic frame. Another requirement was a frameless mirror so I had to use some kind of adhesive. I’ve made several test pieces with different glues and tape. Glues where aggressive and started to dissolve the paint or even the silver layer of the mirror glass. So thin adhesive tape did the trick:
All the electronics needed to be thin, so I would reach my first requirement. Here’s what the inside of the mirror looks like: From left to right: Monitor power board, Monitor data board. 3 pieces of DC-DC Buck converters with high amp ratings for Backlight, Powering the Pi and (later deleted) amplifier, Raspberry Pi48GB.
Some of the pieces are 3D Printed (orange), however they are 3D printed in PTEG as PLA is biodegradable and won’t last long in a damp environment. All the electronics are made waterproof with PlastiDip spray.
Programming the mirror gave a lot of challenges. I wanted to use gestures. I’ve tried and tested a lot with a big Flickboard. Even tested it behind acrilic and glass. However, I didn’t test it behind mirror glas, which seemed to not work due to the metallic coating. So I had to switch to a PAJ7620u2 Gesture sensor. And this would need a bigger hole in the mirror which I wouldn’t prefer.
Cédric Bugsounet made some awesome modules, for example the Google Assistant module. However the past year he has changed the core of it, which would require (re)programming. As it’s a really complex module which needs a lot of external API’s this cost me some time. I’ve also have a Pi-Hole running at my home which blocks the Google Assistant requests, it took some time to discover this.
Used modules:
- MMM-Buienradar
- MMM-Screencast
- MMM-GoogleAssistant
- MMM-GroveGestures
- MMM-Remote-Controle
- MMM-SmartWebDisplay
- MMM-RPI-LED
- MMM-pages
- MMM-page-indicator
- EXT-Screen
- EXT-Pir
And this is the final product:
:fast-forward_button: Youtube: Magic Mirror: “Frameless, thin, gesture and voice controlled”:fast_reverse_button: