How I Made a Smart Mirror that Integrates with Google Drive
How I built a full-length smart mirror and custom module that integrates with Google Drive
A smart mirror consists of a two-way mirror and an electronic display that shows through from the opposite side. A program outputting to the display can show the user different kinds of information such as the time, date, and weather.
Last summer, I decided to make a smart mirror for my girlfriend. I broke the process down into planning, software setup, and physically building the mirror. Along the way, I developed a module for the MagicMirror² platform which integrates with Google Drive to show messages and photos from Drive on the mirror.
A post on Reddit showcasing the mirror I built received astounding feedback, having been upvoted over 20,000 times and reaching approximately half a million people within the first twenty-four hours.
Planning the Mirror
The first step was planning the mirror. I needed to decide what functionality the mirror would have, in addition to how it would look.
You can read about this on my post: Planning My Smart Mirror
Software Setup for the Mirror
The second step was to setup the software for the mirror. This included setting up the Raspberry Pi, installing and configuring the MagicMirror² software, and developing my own module for MagicMirror².
You can read about this on my post: Software Setup for My Smart Mirror
Building the Mirror
The final step was to physically build the mirror. I had to build and stain a wooden frame, secure the mirror, and install the display behind the glass.
You can read about this on my post: Building My Smart Mirror
Takeaways
While making something from scratch definitely wasn’t easy, it was, at the end of the day, more than fulfilling. Being able to look at my completed project and know I did the work every step of the way was highly satisfying. Some of the main lessons I took away from building this mirror were:
Planning ahead is crucial
The time I took to plan the mirror was very beneficial throughout the later stages of the project. Having a solid plan removed unnecessary hesitation in my decision making, and creating a 3D model and blueprints for the mirror left little room for error when it came to the design.
Don’t sweat the setbacks
At one point, while I was programming my MagicMirror module, I hadn’t pushed to my GitHub repository in quite some time. I accidentally wrote over one of my main files and lost it permanently. I was beyond disappointed at the time, but I toughed it out and rewrote the 350~ lines of code that I had lost. In the end, my code was more robust because I was tackling a problem I had already solved (Perhaps this is also a lesson to push my code more often?).
Take the leap
If I hadn’t decided to start planning the mirror one night, I may have never started at all. The path to every achievement has a starting point, so it is essential to take that initial leap. Because of that one night, I now have some hands on experience with Node.js, 3D modelling, woodworking and more — most of which I’m sure will be of use to me again someday.
Thanks For Reading
Thanks for taking interest in my project! If you have any questions, please feel free to reach out to me at mitchelltmarino@gmail.com.