These are the steps I used to get MagicMirror2 working on a Raspberry Pi Zero W:
- Flash memory card with Legacy 32-bit.
- 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.
- Remove chromium with:
sudo apt-get remove chromium-browser sudo apt autoremove
- Add Firefox with:
sudo apt-get update sudo apt-get install firefox-esr
- Enable VNC using GUI (Interface Options):
sudo raspi-config
- Connect via TigerVNC (Apple app)
- 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
- Execute fix’em-up script:
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/fixuppm2.sh)"
-
cd ~/MagicMirror/ pm2 start MagicMirror
- If you get errors about electron being missing, this should fix it:
sudo npm i -g npm@6
- 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 thehdmi_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; }
it is working auto when I turn on my pi zero?
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?
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.