I'm quite far with the build now, and I'll talk about specific software and hardware parts later on. In this post I'll outline what I changed about the initial concept, and why I made those changes.
- I went with a 27 inch Philips LCD screen. I liked the 27 inch size more and the price difference was about 50€, so I decided it's worth the extra money. The particular model I chose has multiple benefits. First, it was rather easy to disassemble the plastic cover around it, so now I have just the panel inside my mirror, plus the electronics board. Second, it has HDMI and intregrated speakers, which I use for voice output and other sounds.
- The raspberry PI 3 handles the UI quite well, although with some laggy animations, but that's acceptable and I might be able to improve the performace of the software later on.
- The mirror is now just an acrylic glass pane with some mirror film on top of it. It's rather tricky to apply and I might have to remove it and try again, cause there are quite some bubbles underneath, but hopefully I'll figure that out.
- The gesture detection: I didn't integrate the sensors that detect my hand movement because they would take up extra space and make the bezels thicker. Right now, I have about 3cm of bezel all around except for the bottom, where it's 4cm due to the touch buttons and the ultrasonic sensor.
- The capacitive touch buttons work fine. I have five of them along the bottom, behind a 4mm piece of wood. They can't detect a finger through that much wood, so I'll have to either drill some small holes into the wood or use a milling machine to make the wood a bit thinner where the buttons go. They can sense the finger through 2mm wood just fine.
I'll show you pictures of the soldering and wiring in one of the next posts, so you can get an idea of how it looks from the outside and works on the inside. Basically, I have prototype board with the sensors soldered onto them all along the bottom part of the frame. A cable goes to the gpio ports of my PI, another one from its HDMI port to the screen. Then I'll have a USB breakout cable to the bottom of the mirror, so it's easy to attach a mouse and keyboard in case there is some maintainance work needed. Lastly, I'll have two power cords for the display and the PI runnung through a hole in the bottom.
The electron app is pretty much done now and can be found at Github. It provides nothing but the basic skeleton out of the box. Modules, which can be developed by anyone can be included via a settings file, where a download path has to be specified. I'm also working on an Android app to make changing settings easier, so you don't have to edit some JSON file manually. Lastly, I'll put up a website as a module registry, kind of like npm, where modules can be added and then downloaded onto the mirror via the Android app. All that code will be shown off later once it's finished. I might make a little video documenting how the final build works and how the App interacts with the website and the mirror.