MagicMirror² v2.5.0 is available! For more information about this release, check out this topic.

Twin system Mirror, embedded into a wall



  • Intro
    I’ve been messing around with the MagicMirror concept for about 6 months and had previously set up a single monitor on a wall in the living room as a proof of concept. My wife and I liked the idea of an intelligent display, and had seen some excellent examples of Mirrors on here, but there was little to no chance of me being able to build any of them. I’m what you might call more a technology geek than a DIY expert 🙂

    So the monitor just sat there on the wall until about a year ago when my wife and I decided to have some renovation work done. The layout of our open plan apartment meant there was some “dead” space off the dining room area which we figured we could turn into a reasonable sized storage area / utility room without making the dining area too small. We’d contracted a builder to do the work for us (not a DIY person, remember!) and that was when we discussed the Magic Mirror idea. As the builder was going to have to put up a new wall for us, why not get them to create a space in the wall and have the mirror built into the wall itself ? Access to the back of the mirror could be from inside the new utility room but from the outside it would look like a mirror sitting flush with the dining room wall.

    Given this was going to be something that would be embedded in the wall, and I couldn’t just change it at will, I decided to buy most of the equipment I needed as “new”. At that point I then had free reign to shop around for the ideal size monitor and glass. Once I’d established the size of the mirror I wanted, by diligently checking monitor sizes, I realised could get 2 x 24" monitors into a frame, and it not look out of place.

    The builder and I discussed various mounting options, and eventually decided on a very unusual approach. Instead of putting the glass in the frame, we decided to sandwich the glass between the plasterboard and the stud wall, then mount the frame housing all the components partly inside the partition wall. Whilst that meant the construction would be slightly more difficult, it would mean an ultra-minimalist look from the mirror side.

    Because the glass and frame would already be on the wall, to avoid having to build anything in-situ, I constructed a lightweight chassis to hold the monitors together then mounted the Pi’s on the monitor VESA brackets. This kept the back relatively tidy and meant the actual install would only require lifting the completed “Magic” part of the mirror into the frame, levelling it up, and securing it in place.

    Finally, because I’m using consumer grade monitors, I knew that having them on permanently would likely shorten their useful life, so I wanted a way to have the mirror turn on and off easily. Initially I’d thought about having some form of motion sensors, however PIR’s wouldn’t work due to the glass, and my testing of various Microwave sensors gave very mixed results. I eventually settled on using a smart plug (controllable by any mobile device), and coupled with an Amazon Echo Dot so it can be voice controlled as well.

    Modules and layout
    0_1527186378814_Top.JPG 0_1527186381980_Bottom.JPG

    Modules used
    Top screen
    • 3 x MMM-MyCommute (One each for mine/my wife’s commute plus one additional for tram times from closest tram stop)
    • 2 x MMM-UKNationalRail (for the two major rail stations near where we live)
    • 2 x Default calendar (one for my wife, and one for me)
    • 7 (and counting) MMM-Doomsday modules for countdowns to important dates

    Bottom screen
    • 1 x Default Clock module
    • 7 x Default Weather module (for us, and the locations of all our family members)
    • 1 x Default News feed module
    • 1 x DailyXKCD
    • 1 x MMM-Wunderlist
    • 1 x Default calendar (for my mother’s diary, as she likes us to know what she’s up to 🙂 )

    Other random bits of info
    VNC installed for remote access
    Bind IP to MAC via router to ensure static IP’s for the Pi’s (makes using VNC much easier)
    Echo Dot and Smart plug configured on a separate isolated wireless VLAN (because I’m paranoid 🙂 )
    Modified custom.css for colours and layout
    Added Cron job to restart MM process at midnight in case of a module crash

    Hardware Components
    • 50/50 mirrored glass (6mm x 660mm x 860mm)
    • “Reused” 600mm x 800mm Ikea kitchen cupboard and door (for internal frame)
    • 2.4m x 15mm aluminium shower corner edging (for external frame)
    • 2 x Raspberry Pi3’s with 16Gb Toshiba SD cards
    • 2 x AOC 24” LED monitors
    • 2 x 1ft Flat HDMI cables
    • 2 x ‘VESA-Pi+’ cases to mount Pi’s to the monitor
    • 2 x 13Amp sockets for power
    • 1 x C5/C5 Y-cable (to power monitors)
    • 1 x Anker 2 port 24W USB charger, with 3ft and 1ft USB cables (to power Pi’s)
    • 1 x Meross MSS210 smart plug (to control Anker PSU)
    • 1 x Amazon Echo Dot for voice control
    • Sheet of A1 300gsm black card (for masking the mirror)
    • Miscellaneous nuts, bolts, jumper wire, heatshrink, cable ties, a steel L-bracket, and the always essential Gorilla tape 😃

    Construction Pictures
    The new stud wall being constructed
    0_1527182799346_01.jpg

    Plasterboarding going up
    0_1527182809714_01A.jpg

    Plasterboard all on, time to cut out the hole for the mirror
    0_1527182817697_02.jpg

    The reused Ikea kitchen cupboard, cut down to form the frame
    0_1527182823666_03.jpg

    Glass sandwiched in the wall, frame on, waiting for the glue to dry
    0_1527182837130_03A.jpg

    Minimalistic look from the front
    0_1527182840290_03B.jpg

    AOC monitors before I took them apart
    0_1527182843801_04.jpg

    Frames removed, and waiting to have the custom chassis measured
    0_1527182846722_05.jpg

    The monitor masking laid out, with a fairly small amount of wasted space
    0_1527182849377_05A.jpg

    Pi connected up, mounted on the new chassis in the VESA case (GPIO cable is where I was testing the PIR’s)
    0_1527182875552_07.jpg

    Anker plug for the Pi’s, Smart plug and Y cable for the monitors
    0_1527182878514_08.jpg

    Side mounts to hold the monitors in place
    0_1527182881433_09.jpg

    Base mounts for the monitors to rest on
    0_1527182884617_10.jpg

    Completed mirror from the back
    0_1527182887897_11.jpg

    All closed up and concealed from prying eyes.
    0_1527182891360_12.jpg



  • Very clever! Excellent job using the opportunity to really stretch the idea. If you wanted, you could build any number of decorative frames and just attach them to the wall around the edge of your existing flush mounted frame. You could even swap them out for various occasions and holidays.



  • Great construction work but for me it looks like you glued the mirror the wrong way!?
    From the pictures it looks like the reflecting side of the mirror faces into the cabinet and the “see through side” faces to the dinig room.
    Please tell me I am wrong!



  • Is this envy?

    yes, I am feeling envy.

    If only 1 RPI could drive them in sync.

    I love my carousel but would like some static info on the screen. There however is just not enough reliable static space on my 32 in monitor. I do have a second matching monitor that could be mated like yours to have static and a dynamic element. Would be excellent if I could have one screen top\bottom in (mated: mode?)

    Now off to look for a HDMI splitter.



  • I like your setup. Thanks for sharing.

    Those two monitors are driven by one Pi? Or one each?



  • @Mephiston2K We did check before final installation which way round they were supposed to go, because being 50/50 transmission it wasn’t obvious. We spoke to the supplier who assured us we had it mounted correctly.

    @rak It’s run by two Pi’s, one for each monitor, although we used split power supplies so only needed 2 sockets for the Pi’s & monitors.