DIY Magic Mirror Android Edition - Updated April '17




Introduction: DIY Magic Mirror Android Edition - Updated April '17

About: Al is a wearable tech entrepreneur and creator of a line of smart phone controlled LED handbags With 22 years of experience in the IT industry, Al is currently Senior Director of Inform…

A few years ago, I did a project called the DIY Magic Mirror. It's an interactive talking magic mirror that plays various video responses from a PC in response to various sensor inputs from an Arduino. Since then, many have asked for a version of the project that doesn't require a full PC. The DIY Magic Mirror Android Edition allows you to create your own Magic Mirror using a low cost Android phone or tablet (must have Bluetooth) in combination with the PIXEL IOIO board.

The free Android DIY Magic Mirror app supports both a custom wiring scheme and plug and play Grove sensors, the easiest option.

The premise of the Magic Mirror is to play various video responses based on sensor inputs. For example upon a button switch press, the Magic Mirror will play one of three weather forecast videos depending on the weather forecast for that day: a sunny day video, a grey skies/ok day video, and a rainy day video response. Likewise for stock performance, it will play one of three videos depending on how your stocks(s) did for the day. There are also some videos that play when triggered by the proximity sensor.

Required Parts

Wiring Option #1 - Easiest Option

Wiring Option #2 - Custom Wiring

    Step 1: Wiring Up the Circuit With Grove Plug and Play Sensors - Easy Method

    The easiest wiring method is to use the Grove plug and play sensors from Seeedstudio.

    1. Install the free Magic Mirror Mini app onto your Android device.

    2. Plug in the following Grove Sensors according to the Grove diagram: Char Select Potentiometer, Weather Switch, Stock Switch, Proximity Sensor, and Indicator LED.

    3. Launch the Magic Mirror app, go to settings, Bluetooth and Bluetooth pair to the PIXEL board using code: 0000.

    4. The app should now be playing different videos based on the sensor and switch inputs.

    Step 2: Custom Wiring Option

    Or alternatively if you want more control over your sensors and mounting options, then you can go custom and follow the wiring schematic.

    Step 3: Preparing the Enclosure

    I had this old radio case lying around which turned out to be a nice enclosure for the project. Note that this radio case was purchased like this as is without the radio tubes, dials, etc and thus no vintage radio was destroyed for this project.

    The two-way mirror effect requires that one end be darker than the other. In this case, the two-way mirror was glued to the case and then covered with foam core board. Once the back is covered and dark, it turns into a mirror and when the back is not covered, it will just look like a normal piece of glass. As you can see in the pics, a cut-out was then made in the foam core to mount the Android phone. The Android phone being a light source will then shine through the two-way mirror providing a floating, almost hologram like effect.

    Step 4: Permanent Installation Wiring

    After you've tested your circuit and all is working between the phone and sensors, you're ready to wire/solder things up for permanent installation.

    Step 5: Free Android Magic Mirror Mini App

    Here's some screen grabs of the Android Magic Mirror Mini app to give you a feel for how it works. For reference, here's the features of the Magic Mirror Mini vs. the DIY Magic Mirror PC based application.

    The app is also open source, feel free to tweak and add your own functionality.

    FeatureDIY Magic MirrorMagic Mirror Android Edition
    OS Support PC, Mac, Linux Android
    Switch Triggered Weather Forecast Videos Yes Yes
    Switch Triggered Stock Performance Videos Yes Yes
    Proximity Sensor Triggered Videos Yes Yes
    Four Characters (Magic Mirror, Pirate, Spooky, Mean Pumpkin) Yes Yes
    Support for a Custom Character Yes Yes
    Text to Speech (TTS) with Lipsync Yes No
    Webcam Facial Recognition Triggered Videos Yes No
    Custom Audio MP3s Yes No
    Photobooth with X-10 Lighting Control Yes No
    Speak my Tweets or Twitter Keywords Yes No
    Breathalyzer Yes No
    Doorbell Video with IP Camera Yes No
    Picasa Web Album Mode Yes No
    Quiz Mode Yes No
    Adjustable Positioning of Characters (Portrait, Landscape…) Yes No
    Price (not including the hardware) $49.99Free

    Step 6: Personalizing With Your Own Videos

    You can also add in your own custom videos for the weather, video, and proximity sensor video responses.

    1. Produce your custom videos saving them in the .3GP format at a resolution of 240 (width) x 352 (height) resolution.

    2. Follow this naming convention for the custom videos:

    • idle_custom.3gp (the idle video that plays when no sensor has been triggered)
    • proximity1_custom.3gp (triggered by the proximity sensor, will cycle between these two videos)
    • proximity2_custom.3gp (triggered by the proximity sensor, will cycle between these two videos)
    • weather_good_custom.3gp (the sunny/good weather forecast video)
    • weather_ok_custom.3gp (grey skies/ok weather forecast video)
    • weather_rain_custom.3gp (rain forecast video)
    • stock_up_custom.3gp (your stock(s) had a good day as defined by the good day stock threshold value in settings)
    • stock_no_change_custom.3gp (your stock(s) had an ok day)
    • stock_down_custom.3gp (your stocks were down video)

    3. If one doesn't already exist, create a sub-directory from the root of your phone's microSD card called "Videos" and then copy the custom videos into this directory.

    4. Open the Magic Mirror Mini app, go to settings, and check "Custom Videos".

    5. Enter custom mode by turning the character change potentiometer until you're in custom mode.

    Remote Control Challenge

    Participated in the
    Remote Control Challenge

    Hurricane Lasers Contest

    Participated in the
    Hurricane Lasers Contest

    Be the First to Share


      • Pets Challenge

        Pets Challenge
      • Remote Control Contest

        Remote Control Contest
      • Digital Fabrication Student Design Challenge

        Digital Fabrication Student Design Challenge


      Firstly... amazing work, thanks for sharing! :)

      Would just like to ask, have you gotten the Android version working on a tablet? Or will the PC version work on a cheap PC tablet?

      I only ask as I have been interested in making a magic mirror, but making it "slim-line" and self contained?


      Reply 8 years ago on Introduction

      Hey thanks, I didn't test on a tablet, you could give it a shot and see how it looks, in theory it should work although I'm not sure how the scaling will be. There's a free/trial version up on Google Play. PC version needs Adobe Flash so probably a cheap tablet isn't the way to go. Best best would be the native Android version.


      Reply 5 years ago

      update, yes works on an Android tablet


      9 years ago on Introduction

      I love this.

      Am I the only one who has considered the possibility of building a frame, and instead of using the cool faces/voices that alinke used, instead making a HAL-9000 representation, with motion detection so it can greet you at the door? "Hello Dave." "Just what do you think you are doing, Dave?"


      Reply 10 years ago on Introduction

      unfortunately not, special permission is required from Apple to develop hardware accessories, it is also a fairly costly process to go through. Recently however, Apple has opened up developer access to the Bluetooth stack on the iPhone 4S and new iPad devices so it would be technically possible on those devices but someone would need to port the IOIO libraries to iOS.