Whether in the bathroom, closet, or bedroom, chances are you probably use a mirror regularly for tasks like getting ready for the day or trying on new clothes. However, your mirror’s capabilities don’t have to stop at simply reflecting light.
With a Raspberry Pi and a few other components, you can make a customizable smart mirror that projects a computer display over a traditional reflective mirror. Some possible uses include displaying the time, a calendar, picture, or other applications in your reflection. These features can help make you more productive or simply allow you to integrate more smart tools into your home.
In this article, we’ll provide a broad tutorial of how you can make a smart mirror with a Raspberry Pi. As there are many different ways to build one, we won’t go over every nitty-gritty detail in the building process, just the main steps shared by most guides, directing you to additional resources along the way.
Before we get into the specific steps, let’s first discuss what you’ll need to build a smart mirror.
The first DIY smart mirror project was started around 2014, but only really began to grow in popularity in 2016. As the concept has become more popular, purchasable smart mirrors have also been released, such as those from Capstone Connected. Still, building your own smart mirror is the most customizable and least expensive option, costing anywhere from $200-500.
DIY-ing a smart mirror is a bit complicated, and it involves a fair amount of physical and digital components. We’ve made a list of the principal components you’ll need to make one – but not every single screw or bolt you might need.
Using a Raspberry Pi is an easy way to make a smart mirror, as they’re open-source and very versatile. There are a couple of software options that enable the Pi to function as a smart mirror. The most popular is using a free, open-source program called MagicMirror2. This program runs on the Raspberry Pi OS and offers different features for your screen, such as a calendar.
DAKboard is another service that provides a customizable display program. The displays can be used on any wall-mounted display, not just reflective screens. Using DAKboard for your smart mirror involves a slightly different process than MagicMirror, as it’s an operating system, not an application for Raspberry Pi OS.
In this article, we’ll focus on using MagicMirror2. If you’re interested in going the DAKboard route, check out Thomas Sanladerer’s guide.
The following are a few extra parts that might make the build or mounting process easier:
Once you have all the necessary parts, you’re ready for Step 1!
The first step of the building process is to configure your Pi. The Raspberry Pi OS needs to be installed before you install MagicMirror2. The steps are as follows:
Now that you have Raspberry Pi OS installed, it’s time to download MagicMirror2 to your Pi:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install -y nodejs
git clone https://github.com/MichMich/MagicMirror
cd MagicMirror/
npm install
cp config/config.js.sample config/config.js
npm run start
If you have any issues with this configuration process, you can check out MagicMirror’s documentation on common installation issues and solutions.
The second step to building a smart mirror is constructing a frame. Here, you have a lot of room for customization depending on your tastes. Below, we’ve created a list of instructions for making a wooden frame, one of the most popular types of DIY smart mirror frames:
Now that your frame is built and your mirror and screen are securely nestled inside it, it’s time to install the electronics. For the most part, this just means connecting your Raspberry Pi board to the frame and wiring the device to your display screen. The following steps can help you do this:
You’ve now finished building your smart mirror, but there’s still more to do if you want to make your smart mirror actually useful.
The fourth step is customizing your smart mirror by integrating modules (applications for the smart mirror) into the MagicMirror platform. Unfortunately, unless you know how to program at an advanced level, you can’t integrate just any application.
Instead, you have to choose from MagicMirror’s compatible default modules, but don’t worry, many of these modules are super helpful. Examples include a calendar, news feed, alert system, clock, weather dashboard, a to-do list, and even a compliment function.
While we won’t get into the details of installing each module or application on your smart mirror, it involves using your Pi’s terminal to clone and install new sub-applications to the smart mirror platform. An excellent guide for this process can be found on the organization’s website.
Once customized, your smart mirror is complete! Now, save your module configurations to the platform, power on the devices, and you’re all set!
We covered the main steps involved in making a smart mirror. If you’re looking to get more into the nitty-gritty, the following resources are all great guides:
Enjoy!
License: The text of "Raspberry Pi Smart Mirror: How to Make a Magic Mirror" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.