HowTo: MagicMirror – Installing the required software

A MagicMirror consists next to the obvious mirror&screen of an important part of software. There are some good software packages for this purpose. But the best in my opinion is that of Michael Teeuw.

The software he developed for his MagicMirror is available as open source package and over the time it has developed to a rather extensive MagicMirror ecosystem.
The basic software offers the possibility to extend the basic functions with plugins.
Meanwhile there are all sorts of plugins with which you can personalize your own MagicMirror even further and adapt it to your own needs.

The software can be found at:

How to install them and what to look for is described in the following article.

Hints for our lovely english readers: Basically, many of the articles on are translations from the original german articles. Therefore, it may happen here and there that some illustrations are not available in english and that some translations are weird/strange/full of mistakes or generally totaly wrong. So if you find some obvious (or also not obvious) mistakes don't hesitate to leave us a hint about that in the comment section. 
Also please don't get confused, that instead of a "dot" often a "comma" is used as decimal separator. 🙂

Safety instructions

I know the following hints are always a bit annoying and seem unnecessary. But unfortunately, many people who knew it "better" from carelessness lost their eyes, fingers or other things or hurt themselves. In comparison, a loss of data is almost not worth mentioning, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Even the coolest project is worth no injury or other annoyance.


Helpful Articles:
Before you start with this article, you should have prepared the RaspberryPi on which you want to run your MagicMirror that it can be reached via the network and controlled by SSH.

The following articles describe what to do to prepare the RaspberryPi:
RaspberryPi – Setting up for Nerdiys!
RaspberryPi – The first configuration
RaspberryPi – Controlling the RaspberryPi via SSH

Required tools:

Required material:

In the following list you will find all the parts you need to implement this article.

Log in via SSH on the RaspberryPi

To get started, you first need to log in to RasPi with SSH on Putty. How to do it is described in the article RaspberryPi - Controlling the RaspberryPi via SSH.

After entering your username and password you can start to enter the first commands.

Update package management

The package management in Linux is a "central point" over which various software packages can be installed. For this to work reliably, the lists and sources of package management should be updated before installing any new packages.

To start the package management update you have to enter the following command.
sudo apt-get update && sudo apt-get upgrade
Depending on how long your last update of the package management is, this process can take some time. First, the lists are updated in which the individual repositories are referenced.
Then the packages themselves are updated. As this additional memory is occupied, you will again asked for your consent. You have to confirm this with a "J"(in German) or a "Y" and "Enter".
When the update is complete, you will see a small summary of the duration and scope of the update.

Installing the MagicMirror software

The installation of the required software runs almost automatically on the RaspberryPi thanks to a provided installation script. To start this, simply copy and execute the following command in your console window. The installation then takes about five minutes.

bash -c  "$(curl -sL"
In between, you will be asked if you want to use “pm2” to automatically start the software after a reboot. If you want to do that, confirm it with “Y” and “Enter”.
After about five minutes, the installation of the required software is completed.

Start and test the MagicMirror software

To start the software you have to enter the following command.

DISPLAY=:0 nohup npm start &

If you have not yet connected a screen to your RaspberryPi you can also test the output via VNC. How you look at the screen output of your RaspberryPI via VNC is described in the following article:
RaspberryPi – Control the RaspberryPi via VNC

There is also the possibility to view the interface in your own web browser. This is very convenient for debugging. How to do that I will describe in another article.

Additional information

I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂


P.S. Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at

Leave a Reply

Your email address will not be published. Required fields are marked *