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?