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

Mitchell Marino
4 min readNov 17, 2018

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.

My finished smart mirror.

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

Some photos from the ‘Planning My Smart Mirror’ post.

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

Some photos from the ‘Software Setup For My Smart Mirror’ post.

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

Some photos from the ‘Building My Smart Mirror’ post.

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.

A YouTube video displaying the mirror and my module.

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.

--

--