The magic mirror of the future won’t just say you’re the prettiest of them all. It’ll also tell you the time, date, weather outside, upcoming calendar appointments, and more. In fact, you can make such a smart mirror right now.
It’ll cost you roughly $300 to start a magic mirror from scratch, but you can easily cut costs and get it down to $100. Especially if you use the low-cost, hacker-friendly Raspberry Pi.
Why You Need a Raspberry Pi
A smart mirror is basically a mirror with a screen behind it. That screen can be an Android tablet or a computer monitor. Naturally, a monitor will make for a larger mirror. It’s also a great way to repurpose an old LCD monitor. But you can’t cram a full computer in there, unless you use a Raspberry Pi.
The Pi is basically a credit card-sized computer. It runs Linux-based operating systems, and has a large community of developers. In fact, the smart mirror DIY community prefers the Pi over all other methods. Throw in its $35 price tag and it’s a no-brainer to use this over any other gadgetry.
It should even be possible to make a smart mirror with the wireless-equipped, $10 Raspberry Pi Zero W. (If you’re unsure about the various models, check our Raspberry Pi comparison guide.)
What You’ll Need for Your Smart Mirror
Whichever smart mirror project you decide to do from this list, there are a few elements you’ll always need. To make your search easier, and to stop repeating ourselves, here are the most important components.
A Two-Way Mirror
It’s a smart mirror, so it should be no surprise that you actually need a mirror, right? The project requires a two-way mirror, which you can buy at TwoWayMirrors.com or head to your local hardware store. Ideally, get it from the site since you can customize the height, width, and edges.
It has become so popular among the DIY crowd that it has a separate smart mirror price calculator now.
An LCD Monitor
This is the best way to make use of any old computer monitor you have lying around. Behind the mirror, you’ll be installing a monitor. You could buy a new one, but this is one of those great ways to upcycle old tech with a Raspberry Pi. If you don’t have an old monitor, you can save big bucks by buying used devices instead.
A Raspberry Pi
While you can build a smart mirror with the $10 Pi Zero W, this won’t give you the best results. Instead, consider the more powerful $35 Raspberry Pi 3, which has built-in Wi-Fi. Choose the product and distributor that’s best for you on the official site.
A Wooden Frame
Something to hold together that mirror and the monitor behind it. You can optionally skip this step, but it’ll look a bit rough around the edges, and require serious cable management. Your local hardware store should sort you out.
Along with these, you’ll need all the basic tools required to work with them. So make sure you have a screwdriver, screws, sander, woodworking tools, and so on.
If you don’t have these, visit your local hackerspace to find and use them safely.
1. MagicMirror²: The Original Pi Smart Mirror
This is the MagicMirror². There are many like it, but this one is Michael Teuw’s. He was among the first to build and document the entire smart mirror process with a Raspberry Pi. In fact, he made all his work open source and modular, so that anyone could build their own and improve on it.
Michael has written a six-part series on the MagicMirror², so you can read all about it on his blog. He’ll take you through the full setup and build.
The best part is how easy he has made the process. Run a simple bash script from MagicMirror², and your Raspberry Pi will be ready to go. The default modules include a clock, a calendar, weather forecast, news feed, and a complimentary message. And people are building third-party modules that you can install.
If you’re new to the world of smart mirrors, this is the project to start with. It has a large community around it and you can ask for help on the MagicMirror² forum.
2. MirrorMirror: The Best Hardware Guide
Dylan Pierce’s MirrorMirror isn’t related to MagicMirror, but it’s just as useful. Mainly because Pierce’s original blog post is the best step-by-step guide to the actual building process.
Pierce broke from the norm, configuring Chromium to run on startup after he installed Raspbian on the Raspberry Pi. Finally, he made his own web page and server.
Before you make your own smart mirror, read the full post. Pierce was building this smart mirror as a gift. So he has taken care to ensure it looks brilliant. There are useful steps in here, like how to remove a monitor’s bezel or cable management. But the jewel of the piece is in his woodworking.
If you aren’t familiar with woodworking but want to make a frame for your smart mirror, Pierce’s build is the best. He even set up a MirrorMirror forum for any help you need.
You can actually interact with Evan Cohen’s smart mirror by talking to it like an Android phone. And yes, it still runs on a Raspberry Pi, so you don’t need an Android device.
Cohen has provided the full documentation of how to build, install, and operate his smart mirror. The video is really impressive, and it works with several third-party apps. For example, you can control smart LED lights like Philips Hue by talking to your mirror.
This one too has a wonderful, detailed hardware guide. If you’re planning to build it, use the provided guide instead of Pierce’s method.
Can you make a touchscreen smart mirror? Yes, it’s possible, but there are a few problems that we’ll get to later. Right now, if you need to interact with your magic mirror, it’s smarter to use gesture-control or voice control. So builder Josep Cumeras i Khan got to work.
This smart mirror has a few cool tricks. You have to clap your hands to activate the voice recognition, and then issue commands like “play the radio” or “show me the news”.
Khan has put a lot of documentation together about it, so you should be able to get your favorite apps running in no time. To navigate inside an app, use simple gestures.
This project is among the more expensive magic mirrors out there, clocking in at 400 euros. But when you see the result in the video, you know it’s worth it.
5. $100 Smart Mirror: The Cheap and Easy Way
You don’t need to spend a bucketload of cash to make a smart mirror. As Carl Gordon shows, you can get a whole thing up and running for less than $100 US (or 150 New Zealand dollars, in Gordon’s case). His entire aim in this project is to make it as cheap and thrifty as possible.
Gordon uses most of the basic material listed above, as well as some power tools. He doesn’t use the popular Magic Mirror OS, but nothing in the build suggests that will break the system.
The end result is a simple magic mirror for a cheap price, that still gives you all the basics. It’s also light and portable, so you can use it in multiple rooms if you want.
Right now, it’s not particularly advisable to make a touchscreen magic mirror. Your options are limited to using a resistive touchscreen monitor, since capacitive screens like those on phones or tablets don’t work under the mirror. It’s not an intuitive experience.
But apparently no one told Ryan Newlan that, so he went ahead and made the best touchscreen smart mirror we have seen so far. And it looks so cool!
You can watch YouTube videos. You can browse Reddit. You can control your Nest smart thermostat. You can even hail an Uber! Newlan hasn’t shared how he made it, so we don’t know if this uses a Raspberry Pi or not. But just look at it! Oh yeah, it’s real.
Smart Mirrors: Raspberry Pi vs. Others
If you’ve made a smart mirror, we want to see what it’s like, so share a link in the comments below. More importantly, if you’re going to make one yourself, would you build one with the Raspberry Pi or go with a different device? There are some cool units that use Windows PC-on-a-stick, like this Echo Dot magic mirror, or a handheld smart mirror.
But if you’re into DIY, chances are that you have a spare Raspberry Pi lying around. Coupled with the Magic Mirror OS, it makes builds much easier. In fact, we have a full guide on how to turn an old laptop screen into a magic mirror. Check it out!
Looking for more projects for our Raspberry Pi? Look here: