Complete Walkthrough - Install MagicMirror on a PC - Windows 7

  • Module Developer

    Install MagicMirror on a PC Windows 7 - Complete walkthrough

    I just finished a fresh install of Windows 7 on a Compaq Presario CQ57 laptop with 3.5GB of RAM and 32-bit OS.
    Worthless really, but it runs Magic Mirror like a champ, as it is far more robust than a Pi of any kind.
    No graphics problems. No system load issues. Even this old laptop makes a decent MM dev machine.
    Ok, lets get to it!

    First things first

    • Go to and download the Windows Installer. In this case it’s the
      node-v6.11.0-x86.msi file because I’m running 32-bit Windows 7. Double Click the installer and
      let it do its thing. You don’t have to change anything. The default installation is what you want.
      You may have noticed that npm was also installed. Isn’t that nice? :-)

    • Now go to and download git for Windows. Double Click the
      installer. Again, you can use the defaults but if you want to use TrueType fonts in your terminal
      windows then choose that in the Components section of the installer. Also, you can choose to use
      Git only from the Git Bash terminal. The default allows you to use Git commands from the Windows Command
      prompt. Other than that, this walkthrough assumes the defaults for Git installation.

    Lets get the MagicMirror software

    • Here we do a manual installation of the MagicMirror software. Why? Because I said so, that’s why!
      It’s not hard at all and you learn another way of doing things.
      Go to and click on the green Clone or download button on the right
      side of the window, then click on Download ZIP. Now you have a file.
      Double Click the file. Inside is the MagicMirror-master folder.

    Pay Attention!

    Drag, or copy and paste, the MagicMirror-master folder into your Users/YOUR_USER_NAME directory.
    The easiest and most direct way to get there is:

    • Click your Windows Start button. At the top right of the “Start” window is
      YOUR_USER_NAME. Click YOUR_USER_NAME to open this window. You will see folders such as, Contacts, Desktop
      Downloads, etc… You’re in the right place! Your MagicMirror-master folder belongs with them.

    Pay Attention Again!

    Now that you have your MagicMirror-master folder in the right place, you have to rename it.
    Rename it to MagicMirror. That’s right, just remove the “-master” from the folder name.

    You’re so close you can taste it!

    Remember we installed Git? Click Start/All Programs/Git/Git Bash. This opens your Git Bash terminal

    • Type cd MagicMirror and press the Enter key. Now you’re in the ~/MagicMirror directory.

    • Type npm install and press the Enter key. This will install the dependencies for MagicMirror.
      It will take some time to complete depending on your PC. Mine took 6 minutes.
      You may see npm WARN for a few items but these are NOT errors and don’t affect anything.
      When that’s done, we continue, still in the ~/MagicMirror directory.

    • Type npm start and press the Enter key. You WILL get a “Please create a config file.” message
      I just wanted you to see it. No worries. We’re almost done. Follow me!

    • Press the Alt key on your keyboard. This drops down a menu bar at the top of your screen.
      You won’t see your mouse cursor until you move it all the way to the top of the screen into the
      menu bar. There it is! Click on the File menu and click Exit. This brings you back to your
      desktop. If there is a “Windows Security Alert” window concerning “Electron” click the Allow access button.
      You’ll notice “fatal: Not a git repository (or any of the parent directories): .git” in your teminal window.
      Not to worry. Minimize your terminal window or move it out of the way.

    Here we create your working config.js file.

    We’re not going to use the terminal to do this. This way is just easier, especially for beginners.
    From your desktop, navigate to your MagicMirror folder. Remember where it is? :-)

    • Double click the MagicMirror folder.
    • Double click the config folder.
    • Right click the config.js.sample file.
    • Choose Copy
    • Right click somewhere else in that same window and choose Paste.
    • Rename the “COPY” you just pasted to config.js
      Windows may ask about changing the file type. Accept! It’s now a JScript Script File.
      The config.js file that you just created is your working config file.
      This is where you’ll add your entries for other modules to your mirror.

    Had enough? Lets run that MagicMirror, NOW!

    If your Git Bash terminal window is still open (I never told you to close it) we can continue.
    If you need to open a new one then do so now and type cd MagicMirror to enter the MagicMirror directory.
    Now that you’re in the ~/MagicMirror directory of your terminal:

    • Type npm start and press the Enter key.

    Your Clock, Calendar, Compliments and Newsfeed modules are now operational!

    You’re welcome!

    Why did I bother?

    Well, for a number of reasons. When I discovered MagicMirror (January 2017) I knew less than you.
    I am completely serious. I had to learn all of this from scratch. Fortunately for me, there were some
    very generous and kind users on this forum that helped me. One in particular continues to help and
    tutor me to this day. I will call him, “Broffessor” for the sake of this walkthrough. I approached
    him for help on my very first module and he was more than willing. Now, I have 10 modules under
    my belt (7 published, 2 about to be released and 1 that will NEVER be released) and a good friend
    to go along with them. This walkthrough is a way for me to say thank you to those people that helped
    me, by helping others. I hope I have done so.

    How it all began

    My son mentioned the Raspberry Pi in passing one day. Now I’m doing some simple coding and creating
    modules for MagicMirror.

    Who woulda thought?

Log in to reply

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.