You’ve probably seen smart dashboards mentioned in different places on the internet, almost always in the context of a paid service like DAKboard or as a big DIY project that uses an old TV or monitor. But what if I told you that you could use an old tablet to do the same thing? There are some caveats, but with a little bit of work, you can use your old Android tablet or iPad as a display for your smart home dashboard using the open-source MagicMirror software.

So about that caveat I mentioned - you won't be able to install MagicMirror directly onto your tablet. As of right now, there are no Android or iPad installations of the MagicMirror software available. But what you can do is install MagicMirror on a small Raspberry Pi Zero 2 W and run it as a server. Doing it this way will make MagicMirror available as a web page for any device on the same network as your Magic Mirror device. So let’s get it done.

First, we have to install MagicMirror onto our Raspberry Pi. We don’t need to use a Zero for this, but since we’re going to run it as a server, there’s no need to connect it to a screen; therefore, we’re going to keep the hardware footprint as small as possible. You can experiment with any OS you’d like, but if you’re using a RPiZero, I recommend the lightest OS available that still has a desktop environment, like the 32-bit Bullseye Legacy which is light-weight, but still completely functional. MagicMirror will not work without the desktop configuration. If you're not sure how to install an OS onto your Raspberry Pi, we've got a guide for that!

Raspberry Pi Zero 2 W
$24 $27 Save $3

How to install MagicMirror

First, the prerequisites

To install MagicMirror you first need to make sure you have three pieces of software, and we're going to install them using the terminal on our Raspberry Pi. To open the terminal, you can either click on the icon at the top of the screen, or press Ctrl + Alt + T.

  1. Install Git by typing in sudo apt install git into your CLI (command-line interface). This will enable you to clone the MagicMirror files from GitHub onto your machine (as covered below). You'll also need Git to add modules later on.
  2. Next, install Node. Type in sudo apt install nodejs to your terminal. MagicMirror is basically a web page running locally on your Pi, and Node allows your system to process the JavaScript that powers MagicMirror.
  3. Last, we need Node Package Manager (NPM). Type in sudo apt install npm. NPM ties the whole thing together and will allow you to easily download dependencies for modules that need them as you're building out the dashboard.

At this point, you need to make sure that your version of Node is updated to at least version 18. You can check your version with the command node -v. If you're on a version lower than 18, you can get up to date with a few steps. First install n with NPM by typing sudo npm install -g n into the command line. Then, type sudo n stable which will update everything you need. If you’re curious, n is a program that lets you control which version of Node you’re using.

Let's install MagicMirror

Once you have all of your prerequisites in place, you can start installing MagicMirror.

  1. Clone the MagicMirror repository onto your machine by typing git clone https://github.com/MagicMirrorOrg/MagicMirror. This will move all the files you need to install MagicMirror onto your Pi from the MagicMirror GitHub page.
  2. Once Git is done doing its job, navigate to the new MagicMirror directory with cd MagicMirror.
  3. Next, type in npm run install-mm. This could take a while, but once it finishes, you’ll be ready to start using your new Magic Mirror dashboard.
👁 Raspberry Pi 5 with standoffs installed
Why Raspberry Pi is the perfect companion for AI tinkerers

With brand-new hardware for Raspberry Pi hitting the shelves, there has never been a better time for curious coders to give AI a spin.

By  Simon Batt

How to set up your MagicMirror server

To start running MagicMirror, go to your ~/MagicMirror directory (type cd ~/MagicMirror into the terminal) and run the command npm run start. This will display your Magic Mirror with whatever display you have plugged into your Pi Zero. But we don’t want that, we want our tablet to be our Magic Mirror. To do that, we need to run MagicMirror as a server, and before we do that, we need to change a few settings in its software.

  1. Start by navigating to the ~/MagicMirror/config directory and making a copy of the config.js.sample file that will be the template for your config.js file. Type cp config.js.sample config.js into your terminal.
  2. Next, open the new config.js file with the command sudo nano config.js (feel free to use any text editor you like here). The config.js file is where you can control all the settings that mandate how your custom Magic Mirror looks and behaves.
  3. Near the top of the file we need to change some lines. First, change address: "localhost" to address: "0.0.0.0". This will allow MagicMirror to broadcast to any device on your local network.

    Make sure you don’t delete that comma after the letters. It’s important!

  4. Next, change the line that starts with ipWhitelist to ipWhitelist: []. This will allow any computer on your network to access MagicMirror. Again, leave the comma there, we need it.
  5. Save the file by pressing Ctrl + O (you'll be asked to confirm the file name; keep it as config.js), then exit nano by pressing Ctrl + X.

That’s all there is to it. Type in npm run server and MagicMirror will be available to every device on your home network. To access it, go into your web browser and type in the IP address followed by the port. It should look something like this: 192.168.123.456:8080. If you don't know your IP address, we can help you with that.

How to set up a static IP address for your MagicMirror server

Now you have everything you need to access your MagicMirror configuration from anywhere on your network. Almost. That IP address you just looked up is assigned to your device by the router on your home network. Every time any device connects to your home network, your router is likely giving it a new, different IP address. In order to ensure that your Pi has the same IP every time, you’re going to have to delve into your router settings.

Every router has a different way to access its settings page and how to access it could be its own article, but once you successfully log in, look for something called Static DHCP or Static IP. This will tell the router to assign the same IP address to your device every time. To accomplish this, you’re going to need the MAC address from your current Magic Mirror device of choice.

The MAC address is a unique ID for every device that can connect to a network. You can find it using the ip address command in your terminal. You'll see your MAC address just after the line that starts with link/ether (it’s the string of six letter/number pairs separated by colons).

Every router handles static IP addresses differently, but in general you need to give your device a name, enter its MAC address, and select the IP address you want MagicMirror to use (the first two numbers of which will likely have to be 192.168). Once you’ve done that, save your changes and logout.

👁 Best TV featured image
Best TVs in 2024

Finding the best TV for yourself can seem daunting but we're here to help. Here's a list of the best TVs you buy can right now in 2023.

Make your Magic Mirror yours

Now that you’ve got your Magic Mirror up and running, you get to find some awesome modules to make it uniquely yours. Luckily, we’ve got just the guide to get you started.