So, my mirror project has been going on for quite a while now. First plans date back more than 3 years, and work on it has been very fragmented. Now that it is finally complete and installed properly, I thought it’d be good to show it off here.
The panel is taken from a Samsung LE32B530 TV that I could buy 2nd hand for cheap because of a defect with the buttons:
As I was aiming for a convetional mirror design, I moddeled a wooden frame around the LCD panel with the front bezel overlapping to ‘hide’ the thickness of the final assembly:
The hardware setup on the back of the back of the panel looks like a lot of the mirrors out here:
The PCBs on top and bottom are from the panel. All the magic is happening in the middle, where a RPi3 and a relay reside. The relay is controlled via MQTT to remotely turn the panel on/off. To make the assembly as flat as possible, the mains was soldered to the back of the mains connector on the top PCB. Also, the HDMI connector connnected to the lower PCB is a 90 degree version. Finally an external wifi dongle was added, because during initial test it turned out that the internal wifi antenna of the RPi3 wasn’t coping very well being sandwiched between the panel and a reinforced concrete wall.
For the wooden frame I was fortunate to have a professional wood-worker in my family. She has done a great job realizing a milimeter precise frame according to my design.
There are also some 3D printed parts involved, where the corner brackets and relay housing are from my own design. The RPi3 housing was printed from an existing design on Thingyverse.
The actual two-way acrylic mirror comes from Pyrasied, but even though it is mounted properly, it still giving a very distorted mirror image. Once I’ve found a proper supplier, I’ll probably replace it with a real glass two-way mirror (suggestions with shipment to The Netherlands are more than welcome).
So without further ado, I present to you my magic mirror:
There are the regular modules running for time, calendar and weather, but I did spend some time developping my own module as seen on the left bottom. It is displaying the current departures from the nearest bus stop, which I’m scraping from the a Dutch website for public transport (9292ov). It was the first time messing around with NodeJS for me, which was quite an educational experience. Not much later I found out someone already developped a module based on the Dutch public transport API :winking_face:
All that’s left to do now is to install a PIR sensor to provide a trigger turning on the screen (with a 15 min. delay or something). Since I can already control the relay via MQTT, the PIR will be hooked up externally to an ESP8266 module, hidden in the housing of my existing doorbell.