Innocent TV Imprisoned Behind Mirror

After following along with all the Magic Mirror builds, [Troy Denton] finally caved in and started building one for his girlfriend for Christmas. These popular builds are all pretty much bespoke, and this one is no different.

mirror2His victim TV didn’t have the ability to be switched on and off by the Raspberry Pi using HDMI/CEC, so he came up with an alternative. He got a couple of opto-isolators and soldered one to the on/off button on the TV’s control board. The Pi didn’t know whether it was switching the TV on or off, it just knew it was switching it. To solve this, [Troy Denton] connected another opto-isolator to the TV’s LED, this one the other way around. When the TV is turned on, the Pi now detects it.

The enclosure is fabbed from 2×4 lumber, the mirror is one-way acrylic which runs somewhere in the $75-100 range for this 27-9/16″x15-1/2″ application. The top and bottom rails include lines of holes to encourage airflow to keep things cool. the face plate is picture framing which makes it easy to mount the mirror. An ultrasonic range finder finishes off the build and when someone stands in front of this magic mirror, the Pi senses it and turns the monitor on.

Included in [Troy]’s post are the Python code and shell scripts he wrote as well as a bunch of pictures of the build process. We’ve seen Magic Mirrors builds before, including some small ones. They’re a cool addition to the house and a fairly simple build.

19 thoughts on “Innocent TV Imprisoned Behind Mirror

    1. It is one with separate transmit and receive transducers, those don’t have any reason to click (audibly for humans). The ones that use the same transducer for both do click when switching from transmit to receive and vice versa.

      I guess the recipient of this build doesn’t have a cat or a dog – those would go nuts from the constant ultrasonic pings.

  1. I was faced with the whole “is the tv on or off?” problem while working on a project last year. As it turns out TVs switch off their peripherals when they go into standby mode, so my own solution was to test one of the USB ports to see if the 5V pin had power. A naive solution would be to just feed it into a data pin on your processor but then you’ll have the problem of the TV potentially powering your board via the internal protection diodes, so better to run it through a transistor or something first.

    1. or use a series resistor (series-termination)

      assuming the input doesnt already have parallel resistance (parallel-termination), otherwise your dividing.

      although termination is for long cables, series termination can be used for input-backfeed current-limiting, as long as the input impedeance is high enough…

  2. I am at a loss as to what this would be good for. It seems to don’t work good as a mirror and it seems that it don’t work good as a tv. Interesting I guess, but kind of on the useless side. Now if you say put a large screen TV on end and put a camera mid level in front of it so it looked and acted like a mirror, that might be interesting. Add a rear camera and a side cameras and and a clever way of switching them, and you might have something some people who care what they look like might find useful.

    1. your idea is a great one, but parallel to this build. it’s not meant to be ‘the best mirror’ nor is it a computer monitor. think of it more of a hybrid bedside clock with features. You can check your hair and what not in the morning before you step out the door, and, without having to do anything else, know if it’s going to rain and what you local traffic is like. Sure you can wander back in to the bedroom where your full length mirror is…then go find your phone and bring up separate apps or widgets for traffic and weather. but it’s much easier to make a quick glance at this device as you pass by (IMHO).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.