Finally got it working and built.
Here’s a video of it working: https://goo.gl/photos/KZNFsERx2zUJ58GTA
I started out with an old HEAVY 30" monitor that I bought from a friend with 1080p HDMI support.
Then of course I installed all of the required MagicMirror software on my RPi 3 model B with Canakit case. I added a 5v GPIO fan because I knew it was going to generate heat behind the mirror and the monitor puts off a TON of heat. I drilled holes on the top of the case to allow more air flow and screwed it into the top. I also attached two squid buttons: both with python scripts to run reboot command and shutdown commands:
I built the frame from 2x4 birchwood with 1x3 45deg angled cuts for the border and 1x4 for the back to allow for hanging (no plan to hang as of right now). I used pre-drilled holes and Gorilla wood glue to hold in place. I also used wood putty to fill in the holes and gaps created by imperfect cuts of wood that I picked up at Lowes. Then I sanded the beJesus out of it with both a belt sander and by hand. I also drilled several venting holes for the heat to escape. Then I put about 2-too-many coats of wood stain on it. It was below freezing in my garage when it was drying so it cracked after I put the acrylic top-coat on it. I think it looks pretty cool like that anyway. It looks kind of like snake scales.
The glass I used was the 1/8" acrylic from Tap Plastics. I’ll be honest, I’m not that pleased with it. Since it’s acrylic, in certain places it looks like a fun house mirror, distorting the image–perhaps it’s not completely flat, but it works well enough. To cut ~30" piece was $67 + 16 for S&H. I wasn’t willing to spend $150+ for the glass at twowaymirrors.com. Also there are a few small imperfections with the glass where the mirror coating had chipped off when I got it. It’s hard to see unless you’re up close, so I can deal with it.
Here is the setup behind the mirror:
Everything fits very snugly into the frame.
- stereo speakers built into the monitor that supplies HDMI audio
- Oontz angle BT speaker with better bass response for music. Currently plugged into the RPi via 3.5mm jack.
- The RPi with attached fan, x2 squid buttons, micro-USB microphone, and mini wireless USB keyboard
- pre-drilled holes for the squid buttons
- simple 3-port extension cord for power supply to speaker, monitor and RPi. I’d like to figure out something better in the future.
- monitor buttons and LED (puts off a cool blue light behind the mirror).
Here’s my button and mic setup. The top squid is for restart and the bottom for shutdown. I took my Kinobo mic, attached it to a USB extender and glued it to the back of the frame.
And that’s pretty much it! The software has been the biggest hurdle. I’ve had the hardest time getting the AlexaPi skill to stay working correctly. It was working amazingly the first time I installed it but every subsequent install it has gotten worse and I can’t figure out why. I’ve been in contact with the devs over at gitter.im but it still works well enough.
Here’s my module setup:
Top Left
- Time in 12h format with date
- CPU temp
- multiple calendar events
- gmail
Top Right
- Wunderground with forcast
- phone notifications
- car and train travel times in DC area
Bottom Bar
- AlexaPi integration
- Compliments
- RSS news feed
I have other modules not showing - MMM-ModuleScheduler, MMM-RemoteControl and MMM-Instagram turned off.
Here’s the final product:
I hope you enjoy.