MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

Getting started with MM - ?

  • Hi, all.

    Long-time linux admin (25 years) and technologist (30 years worth!) that is always looking for ways to add “cool” things to make my home and life nicer and easier. I came across MM recently and am very intrigued in potentially building something out for my home and possibly someone else’s as well.

    I have been using an out-of-service iPad Air as a sort of digital photo frame for 9 months or so. While it does show photos, there are some things about it that I would like to change if I could. For example, I have to upload the photos from my Mac into iCloud, wait for them to sync to the cloud, wait for them to be available for the iPad, shut down the slideshow, copy them to the local photo folder, then restart the slideshow.

    Similarly, I had a Samsung Galaxy Tab Pro that I set up with Fotoo and gave it access to a specific Google Drive account where I would push photos from my phone (or my Mac). I never had to touch Fotoo, including if the tablet restarted (I configured Fotoo to auto-launch on device startup). It would periodically read the Drive location and pick up new photos and constantly show a randomized photo slideshow. This was very nice for the in-laws while we were on a cruise - we would occasionally upload a couple of photos that we took during the trip, and they would automatically get that photo on their frame.

    The Galaxy Tab has been taken out of service due to a battery issue (it swelled and pushed the display out) and I just haven’t gotten around to fixing it yet. The iPad is ok, but at 12’ away the pictures are a bit small. And, as mentioned, I don’t like the way I have to interact with it (including if there’s any notification that pops up on the screen and shuts the slideshow down).

    I’d like to take on some testing of MM and would be interested in being able to access a Google Calendar, Weather, and a local file folder on the device to show random photos from. Ideally, I would like to be able to copy down data from a Google Drive location into the local directory so that I’m not constantly pulling the content across my data-capped Internet connection every time I want to show a photo. If that isn’t a viable option, I could use a cron job with rsync to auto update the directory on the local Micro SD card from a Linux server (including across the Internet for the remote device) if I had to.

    While I take a lot of photos with my phone and can push them directly to Drive, I also take a LOT of photos with my DSLR when we travel and would like to drop them into a specific folder on my local server after I’ve edited them and have them be shown on the MM/frame.

    Is there any sort of module or configuration that would allow me to split a display into multiple areas and have each one show a different photo, and have the photos change on their own random / semi-random intervals?

    Any thoughts, help, guidance, etc. would be appreciated. Thanks in advance!

  • @ember1205 All of that is possible, and what I do.

    the calendar and weather are built in, all you have to do its provide the url to the calendar and a (free) api key for the weather. see the config section of the doc thru the readme.

    as for photos from the local disk or server… I use the MMM_ImagesPhotos module and there is also the MMM-BackgroundSlideshow module, as well as modules for google drive and dropbox directly.
    see the 3rd party list for those that have published links to their modules

    to use a server folder, you need to mount the server folder to the pi, and then link ( see the ln command) a folder in the module folder to the server drive…
    (the MM internal web server root starts at MagicMirror/modules, so the folder needs to be below that)

    for multiple different windows, this will be a little more work, as the current modules all do a photoframe background image thing. (as I recall)

    the position: keyword in the config entry for a module can locate it into different areas of the screen, but I haven’t tried that with these modules…

    most modules need help when U want to run multiple copies at once

  • @sdetweil

    Thanks for the comments - good to know that I’m not blazing any trails here! 🙂

  • @ember1205 there are a ton of talented folks involved with MM, so I am sure someone can help with just about anything u can want to do.

    I modified the MMM-ImagesPhotos module because I didn’t like the photo distortion the system provides (both stretched or clipped images), I wanted a fill color, and I also wanted the inter photo flash to go away.

  • @sdetweil


    Is there a “How to get started” sort of guide somewhere that I should use as a starting point? I see mention specifically of Raspbian, but what other minimum requirements are there? Pi2? Pi3? Pi4? Any recommendations for specific Micro SD cards based on longevity, wear, and price for this effort? Or, should I just go with a DLC type of card if I can find what I need at a reasonable cost?

  • @ember1205 any of the above work, and laptops, desktops, and just about any other single board computers (SBC’s) I run MM on linux, ubuntu, raspian, and macOS, on virtual machines (VMWare player is free for single instance), and VirtualBox, and Windows 10 virtual env.

    i usually look at the sd card speed vs price… faster is better. I have had 3 fail over time. (2 in the same week, but bought at different times)
    I’ve had trouble flashing OS images onto cards bigger than 32gig

    see the show off section for info from other users…

    I use network connection to access and edit files on the sbc… using bitvise (free tool) that gives both a windows file type interface for edit, and a command shell thru ssh … so I use my windows machine as the work system .

  • I started with a Raspberry Pi Zero Wireless. It was possible to run MagicMirror and the modules on the device , but I found that it was a bit under powered. It was very inexpensive though from Adafruit. I switched to a Raspberry Pi 3 Plus and it works well. Class 10 MicroUSB cards are what you want (manufacturer is less relevant) to run and no less than 16 Gig so that you have room to add more modules as you develop your Magic Mirror.

    Another thing is that even though the Micro SD cards can take a few abrupt power offs they will need to be shut down gracefully using either a sudo shutdown -now or using the GUI to perform a shutdown.

    People have had thier Micro SD cards fail after too many presses of the power button or removing power from the Raspberry Pi abruptly.

    Fingers crossed I have not experienced this to date.

  • @BD0G

    Thanks. I have a Pi2 and Pi3, so I can use those. I also have some different cards that I can use for initial testing and such, but I’ll look for something a bit more “durable” in terms of the card itself.

    Why would a card fail from a power-off? I could see file corruption, but straight up failure? And, since I don’t actually have adapters with a power button, my choices would only be a cord pull or graceful shutdown. The last time I was testing some functionality for a Pi, I ended up building a simple web system that allowed me to connect from any device and click/tap to initiate a shutdown. I could certainly go that route again if need be.

  • @ember1205 said in Getting started with MM - ?:

    Why would a card fail from a power-off?

    i don’t know… but I have 2, fairly new, (month) both 32 gig, differnt vendors, that are completely dead now… not accessible.

  • Yup. What @sdetweil posted. They will fail catastrophically at some point if they are abruptly powered off too many times. Do I know why? No.

    Dont worry there is a great module MMM-RemoteControl that allows one to access thier MagicMirror and perform a shutdown. This module allows any LAN/Internet connected device -phone, tablet, desktop, laptop to access a webpage that will display many functions that one can perform on the MagicMirror . Like turning a module on or off. Shutting down the mirror gracefully , etc.

Log in to reply