Read the statement by Michael Teeuw here.
Bathroom mirror: "Frameless, thin, gesture and voice controlled"
-
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 YoutubeBuilding 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: -
@Robert_K
Nice mirror.
One hint, in your video, you mentioned, that the front-door-cameras refresh every time they are shown resp. the page is displayed. I guess, you use SmartWebDisplay for it? Try to replace it with MMM-iFrame, should no longer flicker at the start of the page. -
@thgmirror said in Bathroom mirror: "Frameless, thin, gesture and voice controlled":
@Robert_K
Nice mirror.
One hint, in your video, you mentioned, that the front-door-cameras refresh every time they are shown resp. the page is displayed. I guess, you use SmartWebDisplay for it? Try to replace it with MMM-iFrame, should no longer flicker at the start of the page.Nice one, I’ll try it shortly.
-
-
@Robert_K Very nicely done. Clean and looks great.
-
@Robert_K
Really nice build !!!
Working on more or less the same mirror concept, but I won’t be able to get it on 3,6 cm, will be somewhere 4,8. -
Good job ;)
-
@Robert_K Hi how did you waterproof it as you must get a lot of steam in that room with no window, nice mirror though.
-
awesome.
-
I used Plastidip. This is a rubberish spray which gave a nice seal/coating on all electric circuit boards. I left de RPI open but all others got sprayed with PlastiDip.
The ventilation is right above the shower, so the mirror doesn’t get that damp actually. It’s nog fogging up like a normal mirror due to two things. Glass is colder than acrilic, and the LCD screen gives a bit of warmt.
Regards Robert
-
@Robert_K great work! Cool Design.
2 questions left.
What are the 3 (same) “devices” below the RPI?You forget to mention the light-stripe. Its a regular RGB? how do you control it? Extra device?
Hint from myself: I used the rest of APA102-5V-Stripes and installed Hyperion in parallel. No extra device needed and animations too. The animations work via Hyperion-App, homebridge and/ or automatisation via ioBroker.Very modern (Guest?-) Bathroom too!
-
Thank you for the compliment.
The 3 “devices” are DC-DC converters. They are adjustable. The screen powerbord suplies 19V DC.
The Pi uses 5V, the LED’s uses 5V (but works better on 4V) and the audio bord uses 9V, however I didn’t use them. Both have a great power output (enought amps)The LED’s are WS2801 programable (waterproof) LED’s for which I wrote two python scipts.
The Gesture module activates these python scripts.Regards Robert
-
Hi Robert, that is a really cool mirror. What glass did you use? It looks very sharp and useful as a bathroom mirror ;-).
-
If I recall correctly, I used this type of mirror:
https://plexiglasstunter.nl/plexiglas-xt-plaat-spiegel -
@Robert_K Just noticed this project and looks similar to something I want to build (frameless).
I see you have used plexiglas, you could also have used real glas (although a bit more expensive like here). Was there a reason other then price to go for plexi? I’m a bit afraid of warping.
Now some time further: How does the frame hold to the mirror? No issues with the glue? Did you ever consider using sticky black vinyl instead of the paint? (like this? and then attach the frame to it (I was thinking of using that type of solution).
Anything else on the build you would have done different in retrospect?
Thanks
-
Goodmorning,
Hardware wise I have not a single issue. There is absolutly no warping in the plexiglass.
I choose plexiglass because that’s what I can get hold of easiliy. And with a industrial lasercutter at hand it’s easy to build products with plexi.Things I would have don differently would only be software. The Google / Hotword is realy sensitive, and Google is gimmick but not really usefull. So I wouldn’t install it in a next version. It’s only to showoff but we’re not using it on a regular day. Besides that, it slows the mirror and internet connection down a lot. (but this could be a fault in my software)
Regards Robert
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login


