The glass is finally ready! I ordered a custom piece from a local glass company called
Academy Glass. They were very helpful and very responsive to my questions.
Remember that this mirror is to be full length, so the piece I ordered is 430mm x 1500mm -- essentially the width of the screen, by a full meter and a half tall (the height of which I got from another full length mirror in the house, so it's not a number I just pulled out of the air).
I wanted the screen to be fairly substantial in size, so I picked up a 32" TV to use for the display. In my design, I'll be positioning the screen in the top half of the mirror -- that will be the "smart" part. The bottom half will just be a regular mirror.
Now to build the frame!
The frame is a very basic design made up of two significant parts: a box to house the components, and a decorative frame whose job it is to sandwich the glass in front of the display. For the box I used 4" pine board. Nothing expensive or fancy -- it will only be visible if you view the mirror from the side. The decorative frame, however, was a different story. One of my original goals is that this needed to be beautiful. So I didn't want the frame to be plain, nor did I want it to look like I just bought some crown moulding from a big-box store. Finding something to use was discouraging... I went to two Home Depots and two Lowe's. The selection was not great. I was VERY close to going to a framing shop and ordering a custom picture frame to size, which would have been exorbitantly expensive. Likely more than the cost of the glass, which up to this point had been the most expensive part of the project. But then I came across some barn board with a faux weathered treatment on it at yet another Home Depot.
Bonus! It was cheap too -- just $5.00 a board. I chose three of the white-washed style that more or less worked together and made my way happily home.
I began the build the next morning, starting with the box:
|
This 90 degree clamp does a great job of holding everything perfectly square. |
Next comes the frame. Again, quite simple construction. Just four pieces with 45 degree mitered cuts.
|
Frame pieces cut! |
The nature of using barn board -- and likely the reason it is so inexpensive -- is that it is irregular and somewhat warped. While I tried to find pieces that were as straight as possible when I bought them, I knew I'd have to deal with imperfection when it came to put it all together. The pieces vary in width -- a difference of about 1/8" in some places where the miter joins come together, and one of the pieces had a bit of a twist to it.
When assembling I made the choice to keep the outside corners perfect, hiding the width mismatches on the inside of the join. And to deal with the twist, the corners are joined with glue and screws from the top and the bottom of the frame. They are in places that will not be noticeable unless you lie flat on the floor underneath the mirror, or stand on a ladder and look down from over top. I know some woodworking purists are likely screaming at me right now for even considering the use of screws, but this is an acceptable and strong solution for me.
|
Nice tight miter, keeping the outside corner perfect. |
|
The mismatch in width is hidden in the inside corner. You really have to be looking for it to notice it. |
|
Screws to reinforce the glue joints. |
Here is the finished frame:
...and now attached to the box.
|
These 90 degree furniture brackets come in real handy! |
Adding the Guts
With the box built, it's now time for final assembly.
|
Glass in place. Holes are drilled through the top of the box to vent heat. |
|
TV positioned, and the bottom half of the glass covered in black paper to block light. |
I needed to doctor the TV a little. The power button and IR receiver stuck out from the bottom of the TV like a wart, and it would have gotten in the way of the frame. So I had to reroute it to the back of the TV. It's held in place with some two-sided gorilla tape.
|
TV Secured. IR sensor and power button module repositioned. You can see the cutout where it used to be. |
|
Glass held in place with some triangle shaped pieces. |
|
Using velcro dots to secure the Raspberry Pi in place while keeping it removable. |
|
Nice and clean! |
Now to start running cables. You'll notice the TV has its HDMI facing straight out the back, instead of facing sideways or downwards like many larger TVs. I was able to find
this right-angle HDMI cable to keep the wire from sticking out the back.
I also wired up an old USB IR blaster that I had lying around from a past HTPC project. The TV can be turned on and off through HDMI, but I need IR control for one specific problem which I'll talk about in another post.
|
HDMI cable and IR blaster wired up.
|
Now to wire up the motion sensor, which will be responsible for waking up the screen from standby. The motion sensor comes with a dome-shaped lens that is used to focus the signal from a variety of angles. In my case, I didn't want such sensitivity, nor did I want the dome to be visible. So I popped the lens off and instead drilled a small 3mm hole through the front of the frame. The sensor now only works when someone is standing right in front of the mirror -- exactly what I want -- and the hole is practically invisible from the front.
|
Let's get rid of that fugly dome... |
|
More two-sided tape to the rescue! |
|
This is all you see in the front of the frame. |
|
Little square stick on mount points and zip ties work great to keep the wires under control. |
|
And finally wired up to the Pi. |
For supplying power, I only wanted a single wire to plug into the wall. But there are two things that need power - The TV and the Raspberry Pi. It would have been nice to power the Pi off of the TV's USB port, but it doesn't provide enough juice... So I mounted a power strip inside the box, and plugged the TV and Pi into it. It gives me surge protection, a master power switch, and a single cable to plug into the wall.
Typical power supplies for the Raspberry Pi plug in sideways. Generally this design is good because it doesn't block the second outlet. However in this case, it would have stuck out the back of box. I ordered
this power supply which solves the problem.
I'm using
this USB microphone for voice control, but I didn't want it buried inside the case. I had an old USB extension that came with my keyboard that I ran out the top of the frame.
Here is it all wired up:
Now for the piece de resistance!
Plugging it in for the first time:
Still to come
This sucker is HEAVY! I'd estimate around 40 lbs. So I need to make sure I find a way to hang this safely. I'm thinking of using a low profile TV mount, like
this one, but with the hanging bars attached directly to the frame.
Also I still have a
button with a ring light on order that I'll be using as a master control for the mirror. It will be used to wake the mirror from sleep in the event the motion sensor flakes out, to switch viewing profiles while the screen is awake, and to explicitly put the screen back to sleep instead of letting it time out. The ring light will be used to convey mirror status -- On when the screen is awake, off when it is asleep, and blinking while the screen is being woken from standby, which takes a few seconds.
If you've been paying attention, you'll notice that one glaring omission from my build is the camera. I had planned to use facial recognition to switch profiles, as anyone who has been following my blog remembers. But I've given up on it for the time being as the performance is fairly poor. The low-tech button is going to do the job. One of my co-workers is a talented programmer who believes he can improve the experience by offloading the work to the Pi's GPU. So there's still hope!
I'll be writing up a follow-up post that covers getting the software working with the hardware. The motion sensor in particular was a real pain in the butt, and I'll be talking about why I need IR control for the TV.
Nice work, mate. I appreciate the woodwork skills and keeping it tidy. V2 will be the slimline option at twice the price, yeah?
ReplyDelete