An assembled kit for this project is now available fromSeeedstudio.com
More info at this project at http://diymagicmirror.com
The software for this project is open source

Who's the fairest of them all. Make your own Magic Mirror and find out. The Magic Mirror can read the weather, tell you how your stocks did, can be wired to your doorbell with an IP camera video feed, turns lights & appliances on and off using X-10 control, and even has a Breathalyzer that tells you when you've had too much to drink. The Magic Mirror plays pre-recorded animations based on input from various sensors. Featuring four characters, each character responds to the sensor inputs with its own personality. Characters include a skull for your next Halloween party, a pirate, a princess character, and a really mean pumpkin who disses you New York cabbie style.

Magic Mirror Features:

  • Breathalyzer with optional Tweeting
  • Photobooth Mode (Link to Separate Instructable on Photobooth Mode)
  • Speak your Tweets from Twitter
  • Weather Forecast
  • Stock Performance
  • Sends X-10 CommandsDoorbell input with IP camera feed
  • Picasa based slideshow
  • Princess, Pirate, Halloween, Insult Characters
  • Text to Speech Mode
  • Personalize it with your own Videos
  • Runs as a native application on the PC, Mac, and Linux
El Cheapo PC or Laptop (a 3-4 Year Model will work)
Arduino Micro-Controller - $30
Used 15" LCD monitor - $50
Dielectric Glass TV Mirror 4mm (2-Way Mirror) 12x12 Sample (Optional) - $20
Magic Mirror Kit with Software
Picture Frame with Oval Matte (Optional)

Sensors (Pick and choose the sensors based on your installation)

Maxbotix Promixity Sensor
Seeedstudio or Phidgets Touch Sensors (3) - $7 each
Alcohol Sensor (1) - $7
Reed Switches (2) - $5 each
See here for all supported sensors

X-10 Components and LEDs (Optional)

X-10 Firecracker - $5 on eBay
X-10 Transceiver Module - $20
X-10 Dimmer Switches (2) - $12 each
LEDs - $5

Step 1: Arduino and Adobe Flash

The basic concept is the Magic Mirror plays pre-recorded videos (Adobe Flash format) based on input from various sensors (proximity, touch, switches). I chose Flash because there is an open source Flash library available called AS3Glue that talks to the Arduino.

On the Arduino, you have to load a program called Firmata which let's you control the Arduino from Adobe Flash (specifically Action Script 3.0). There are multiple versions of Firmata out there so be sure to use the one that comes with the Magic Mirror software download. You also have to run a serial server (included in the software download) which acts as a middleman converting serial data received from the Arduino to a TCP/IP port that Flash can access.
<p>Hello, thank you for the very useful information and the detailed instructions. You're truly a genius! I am trying to build my own mirror and will start working on it soon. I need to add a proximity sensor, and let whatever is displayed play all the time until someone stands in front of the mirror, then the display disappears or maybe will zoom out.</p><p>How and where is it possible to edit the software to make this happen? Your help is much appreciated.</p>
<p>The magic mirror is GREAT! I would like to add my own comments with the Gordo character. I have purchased the Gordo animation and tried to use SnapZProX2 to capture the screen. As soon as the animation starts it terminates the screen capture. Any ideas why or how to get around this? Thanks.</p>
Hi, thanks, have not tried SnapZProX2. The video capture software I've used in the past is called FRAPS http://www.fraps.com , had good results with that one. If you end up going that way, see starting from page 60 in the manual http://diymagicmirror.com/files/wiring_and_software_operations.pdf for how to incorporate your own recordings into the software.
nice install! on the print out resolution, if I remember, it can go up to 720 or something like that. In the advanced config program, you'll see a resolution setting, just put it at the highest res. It won't be high res/photo quality but shouldn't be pixelated either.
Thanks! I'll give it a try.
I love this! One question though. Is there a way to increase the resolution of the printed photobooth pictures?The proofs on the screen are hi-res, but the printouts are extremely pixelated. I'm using the Canon Selphy CP900.
Oops. I forgot to add that I used a Microsoft HD web cam.
Totally epic. Great job!
Cool instructable, <br> <br>Would the software be easily adapted to the raspberry pi? How hard would it to add RFID reader? <br>
great question, I have a raspberry pi on order so I'll try it out when I get it. The key will be whether or not Flash runs on raspberry pi as the DIY Magic Mirror is Adobe Flash based. My guess is Flash is probably not officially supported so the question becomes if there is some hack/work around for it. <br><br>The better option may be Android, I just ported the DIY Magic Mirror to Android (the Android version does not yet have all the features as the PC version), that may be an easier way to go as I thought I'd read somewhere Android is available now or coming to Android. Here's the Android app of the project http://droidalyzer.com/magicmirrormini.html RFID reader wouldn't be too hard, just a matter of modifying the source,, here's the source code for the Android app https://github.com/alinke/MagicMirrorMini
Has this ever officially received a Coolest Instructable Ever award?
Awesome!! <br>Also - Is that you... Keanu Reeves?<br>:D
ha ha, I'll take that as a compliment, thx
ummm what does this have to do with the magic Magic Mirror
Do not question Magic Mirrors and the things that maybe.<br><br>if you look above the window you shall see. (pumkin head)
That's so cool!
Hmm i like to see a trans formers Optumis prime for my nephew how hard would that be?
You'd just need to produce the videos and then here's how to add them to the Magic Mirror http://diymagicmirror.com/personalize.html. Some folks have had good success with the Crazy Talk software http://www.reallusion.com/crazytalk/, that would be the easiest way to author the videos.
Do the kits come with the new mask version? If not, is there any way you (the supplier) can update it or do I have to buy it myself?
Hi, I'm not sure what the new mask version is you're referencing but send me some details and I'll look into it. The characters that the kit comes with you can see here http://diymagicmirror.com/chars/mirrorchars.html
http://www.imagineerieing.com/products.html<br>There's the original Mirror, then there's the Mirror, Mirror. I think you have the new one cause it was released in '08 and that's when this was written
yes Mirror, Mirror is the one used here
I was amazed by the video!What a fantastic job u have done, wish I could make one, will try to make one soon!!!
nice hey could i make this in a wall and use diffrent avatars
hey, great questions, yes, in the manual on http://diymagicmirror.com, there are instructions for an in-wall installation and yes you can also add in your own characters, the manual explains how to do that
thanks i will pick one up evantully<br>
This is just great! I really wish I could afford the kit.
the kit makes the wiring easier but not needed if you are good on building circuits with the arduino, you can just use the arduino, the manual on http://diymagicmirror.com has the schematic, you'd just need the software piece
Would it work with arduino uno?
this is the best thing I saw here!<br>I am in shock. :O
Now this!! <br><br>is GREAT just WOW!!
Very sad. I like to contact the guy from www.imagineerieing.com but can find no way to do so. The &quot;Mac&quot; version he offers is for PPC only. The new Intel Macs can support PPC software via Rosetta, but Apple doesn't even include Rosetta in Mac OS 10.6 (2009). He really needs to recompile his Mac offerings.
Hi Richard, I have spoken to the guy at www.imagineerieing.com and he says he will re-compile, I will send you a message with his e-mail in case you want to contact him
lol i need that =]<br />
Have you heard of the <a href="http://beagleboard.org/" rel="nofollow">beagleboard</a>? It's an ultra small&nbsp;(3&quot;x3&quot;) pc board capable of playing HD&nbsp;video (via DVI-D/HDMI). It comes with 1 USB, 1 Line in, 1 Line Out, and 1 S-Video Out. And, it only requires 5V @ 500mA so you don't need a fan to cool it. It doesn't have a HDD, but instead sports an SD&nbsp;slot so you can probably run Debian or Ubuntu off a 1gb SD&nbsp;card. <br />
do we have to buy the puppets
hi, if you want to make your own animations, then yes you'd need to buy the puppets ($15 each). If you purchase the software on http://diymagicmirror.com, the animations are included. let me know if you need anything else<br />
For the touch sensor you could drill a hole halfway into the sheetrock like a mortise joint, or you could cut a hole all the way through and then cover it with one of those sheetrock repair mesh patches.
that's a good idea, I think I'm going to try that actually, it should be much more responsive that way, thanks!
update on this one, took the advice and did it with the sheetrock repair mesh patch. That did the trick, touch sensors would perfectly now.
awesome! glad it worked out.
that's amazing. your kids must love it, I cracked up in the video when I saw the magic mirror launching windows. it's supposed to run on magic!!!! haha
I'll work on that :-)
this is pretty awesome. Is there a way to program multiple videos with dialogue and have them run randomly on one proximity sensor? (So that each time you step up to the mirror you would get a different comment from the floating face)
I like your thinking, that one is actually on my to do list. It is very doable, not that hard to program at all. The hard part is coming with the dialogue. Shoot me a note if you have any suggestions :-)
I thought I'd seen somewhere (your website) that yu said it was quite a bit dimmer with the mirror. Is this the case? Like, how much so? Neat!
it is dimmer with the two-way mirror for sure although it also is kind of a cool floating mirror effect. I use it in an indoor playhouse and also did two solid days at Maker Faire this year, everyone was able to view it just fine. The people that have seen it definately prefer it with the two-way mirror as it adds to the illusion. If you need anything else here, just let me know.
hehe - you are incredible man - very good work
Ok, I didn't see the link to buy in teensy little print at the top. Make it bigger man. As of next paycheck I'm there. Probably going for the build it model, have 4 grand daughters and 4 grand sons. You do the math

About This Instructable




Bio: Al is a wearable tech entrepreneur and creator of a line of smart phone controlled LED handbags http://catclutch.com With 22 years of experience ... More »
More by alinke:Kitty Kraft - Hovercraft Kindle Art Make a Massive 4096 LED Display for Retro Pixel Art 
Add instructable to: