For those of us who keep up with technology, it’s inevitable that we’re going to update our monitor or our TV at some point. Maybe you’re finally building your dream PC, and you’re upgrading to the bleeding-edge 240Hz monitor, or you’re upgrading your TV in your nerd cave. The point is, even if you don’t have a spare display lying around at the moment, you probably will sometime in the near future once you upgrade, so why not put an old display to good use?
That’s what I decided to do with my old Panasonic flat-screen TV that I got back in 2010. Specifically, I’m going to turn it into a smart dashboard for my office using open-source Magic Mirror software. It will hang on my wall, showing me the time, weather, and upcoming events on my calendar (as well as the latest headlines from XDA).
Strictly speaking, Magic Mirror was designed to be the UI behind a DIY smart mirror. The black-and-white aesthetic was chosen to be clearly visible behind a two-way mirror, and the layout favors putting information towards the edge, to keep the center empty for your reflection. Building a smart mirror is a great project for all skill levels, but you’re not here for a woodworking tutorial (feel free to leave a comment if you are). Irrespective of its reflectivity, Magic Mirror still works great as a smart, customizable dashboard.
Related
Best Android TVs in 2024
Planning to buy an Android TV? Here are some good options to consider!
How to install Magic Mirror
The maintainers of Magic Mirror only test their software on Raspberry Pi SBCs and you will need at least a Raspberry Pi 2 to get it up and running. I’m running mine with a Raspberry Pi 3B+ but you can probably get it working on anything as powerful as that.
Installing the software is actually pretty easy. There are instructions on the Magic Mirror website, but you’ll probably have better luck using a script made by members of the Magic Mirror community. Run this command from the terminal on your Pi:
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)"
This will take some time, but once everything is finished, Magic Mirror should start up automatically.
How to configure your Magic Mirror
By default, Magic Mirror comes loaded with seven modules. Think of modules as widgets on your smartphone that you can use to populate your display.
- Alert will display notifications from other modules.
- Calendar displays events from .ical calendars.
- Clock is a clock. It can display 12-hour or 24-hour time.
- Compliments posts random compliments from a file to your display.
- Hello World is a text-display module.
- News Feed displays headlines from an RSS feed.
- Weather Module displays current weather and forecasts.
To customize these modules to your needs, you’ll have to get your hands dirty in a configuration file. Navigate to the configuration file in your MagicMirror/config directory and edit the file config.js. Here’s what you’re going to find:
To edit your config.js file from your home directory, enter sudo nano MagicMirror/config/config.js into your terminal.
Every module needs to have a name in the module field. Position indicates where on the screen the module should appear. Most modules require a position to be set. The config section is where you’ll personalize the module to your needs. You can dig into the details of the default modules at the Magic Mirror site, but we’ll dig into a few of them right now.
Related
Best Calendar apps and widgets on Android
Want a good calendar app or widget for Android? We’ve picked the best calendar apps and widgets in the Google Play store for you.
Customizing your Magic Mirror calendar
Open up your config.js file and scroll down to the calendar module.
The header is an optional field that displays text above the module. The fetchInterval field is how often the calendar should update in milliseconds. The value here is one day, but the default value is every five minutes. The symbol field is the name of an icon from the open source Font Awesome library that is shown in front of events from that calendar. The URL is the link to your .ical calendar. Google, Microsoft, and Apple all support .ical links.
Customizing your Magic Mirror news feed
Unless you’re content with New York Times headlines on your smart display, you’re going to have to fine tune your news feed settings.
The title is the text displayed above your news headlines. The URL is the link to the RSS feed (this feed is pretty good). The fields showSourceTitle and showPublishDate display the source and date of the news story. At the bottom, broadcastNewsFeeds and broadcastNewsUpdates allow other modules to interact with the newsfeed module (like this one that creates a QR code link to the displayed news story).
Customizing your Magic Mirror weather
There’s no point in having a weather widget if it doesn’t show your local weather. Open up your config.js file and find the weather module.
You’ll notice that the default configuration file has two weather modules: one for current weather and one for forecasts. You’ll also see that both have the same position. When modules have the same position in Magic Mirror, whichever module is first in the configuration file will be on top of the latter file.
The weather module supports a number of services, but openweathermap is the default. The type field can also support hourlybut not all services provide an hourly forecast, so check the documentation to see if it works for your needs. Technically speaking, you don’t need both location and locationID. If locationID is set, it overrides whatever is set in location. If you live in a big city like New York or Seattle, you’re probably safe with just location, but if you live in Springfield, you might want to use locationID.
To get your locationID, download the compressed JSON file listed in the configuration file. Decompress the file, then find your locationID. To get a free Open Weather API key, you’ll have to sign up for a free Open Weather account. Open Weather will send your key in a confirmation email, and you can find it on your account page.
Related
I turned my Raspberry Pi into a full-fledged weather station — here’s how you can, too
Your palm-sized Raspberry Pi can help you keep tabs on the temperature, barometric pressure, and humidity values of your surroundings
Enjoy your Magic Mirror
Congratulations, you have successfully personalized your Magic Mirror! After saving and closing your configuration file, Magic Mirror should restart, but if it doesn’t (and you used the script above to install it) you can use the command pm2 restart MagicMirror to refresh your display with the new settings.
If you’re hungry to explore the world of Magic Mirror modules, you can check out this list of third-party modules. And if you’re looking for another project to tackle, check out this list of ideas.