A cool and fun summer project …

These are the steps I used to get MagicMirror2 working on a Raspberry Pi Zero W:

  1. Flash memory card with Legacy 32-bit.
  2. Connect via ssh to run script:
    bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"

    Answer **yes** to disable screen saver and use pm2 questions.

  3. Remove chromium with:
    sudo apt-get remove chromium-browser
    sudo apt autoremove
  4. Add Firefox with:
    sudo apt-get update
    sudo apt-get install firefox-esr
  5. Enable VNC using GUI (Interface Options): sudo raspi-config
  6. Connect via TigerVNC (Apple app)
  7. Edit installers/mm.sh via VNC using Pi’s baked-in text editor by adding:
    cd ~/MagicMirror
    export external_browser=firefox
    DISPLAY=:0 npm start
  8. Execute fix’em-up script:
    bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/fixuppm2.sh)"
  9. cd ~/MagicMirror/
    pm2 start MagicMirror
  10. If you get errors about electron being missing, this should fix it: sudo npm i -g npm@6
  11. If you’re not getting any output from HDMI but everything seems fine via VNC, edit the config file sudo nano /boot/config.txt and uncomment the hdmi_safe=1 line.

Note: On my Pi Zero W it takes a solid ten minutes from reboot to actually seeing MM output via HDMI.

Huge thanks to @sdetweil for all his help!

Here are the modules I have installed:

Here are some other modules / resources I like:

  • I’ve played with several background image players and think (so far) that MMM-BackgroundSlideshow is the best. I’m not using it on any of my screens now, but I have configured it and it’s great.
  • I found an awesome (free) version of Aurabesh, the alphabet of Star Wars, if you are looking for that aesthetic. Unzip the file and drop the contents into the ~/MagicMirror/fonts directory and add this to ~/MagicMirror/css/custom.css:
    @font-face {
      font-family: "Aurebesh";
      font-style: normal;
      src:
        local("Aurebesh"),
        url("/fonts/aurebesh/Aurebesh.otf") format("opentype");
    }

    Then you can create any class and use that as the font-family. e.g.:

    .aurabesh{
         font-family: "Aurebesh";
    }
  • There seems to be a bug in the Theme Park Wait Times module because no matter what I try, it always displays the park hours for the next several days. For now I’m simply hiding that table from the display with this in custom.css:
    .MMM-ThemeParkWaitTimes .hours{
         display: none;
    }

There are 3 comments on this post

  1. it is working auto when I turn on my pi zero?

  2. Great post. Tried it and everything works except the calendar module. The calendar doesn’t seem to work for some reason. Did you have issues with it?

  3. I never had any issues with the calendar module. I’ve since repurposed that Pi Zero as a dietPi Pi-Hole because I really don’t think the hardware is powerful enough for MagicMirror. If someone gives me a Pi4 or 5 for Christmas, though, I’ll take another stab at a MagicMirror.

Add to the discussion:

I'll never share your email address and it won't be published.

What Is This?

davidgagne.net is the personal weblog of me, David Vincent Gagne. I've been publishing here since 1999, which makes this one of the oldest continuously-updated websites on the Internet.

bartender.live

A few years ago I was trying to determine what cocktails I could make with the alcohol I had at home. I searched the App Store but couldn't find an app that would let me do that, so I built one.

Hemingway

You can read dozens of essays and articles and find hundreds of links to other sites with stories and information about Ernest Hemingway in The Hemingway Collection.