SMARTY, My Personal Smart-Mirror (2022-2023)

This was my first project, and easily one of the ones most influential to me. Though I was guided by my dad almost the entire way and the project itself was based on something I found on the internet (I was 12), it changed the way I think about technology; I stopped taking these devices for granted, and I have taken on each project after this one with excitement.

There were four phases to this project.


Phase 1: Construct the Frame

Before I could do any of the exciting programming, I had to get the supplies needed to contain the monitor that would display the data on the mirror. So with my dad I went to a studio in Fenway to get wood, reflective plastic (the mirror part of the mirror) and tape, because you can never have too much tape.

When we got back home we took our work outside. In the backyard I cut wood for the first time, and I felt pretty macho. A few minutes later we had a wooden frame of sorts, and the boring material stuff was all done (until a few days after when we cut a hole into the wood for the wires).


Phase 2: Put the Monitor into the Frame

The monitor is what is displaying the information on the mirror. The only reason it doesn’t look like a black screen is because of the reflective plastic we bought. We also needed a raspberry pi, the computer that would remotely contain the program we intend to display on the monitor.

We went to our local Microcenter to get the raspberry pi we needed (in the form of a keyboard to interact with the monitor easier).

From there all that we needed to do for hardware was find a way to fix the monitor and the pi into place. Though we had tape, it wouldn’t do; taping the monitor on would still allow it to shake a little, which is not a good look for a smart mirror. So instead, we designed corner brackets on CAD-Onshape, printed them, and screwed them into the side of the wood.

The monitor was then in place, and from there tape was enough to hold the raspberry pi in. The mirror was done, but it was still a lifeless shell with a powered-off screen in it.


Phase 3: Program the Mirror

All of the code was originally made on my computer, later transferred onto the pi (I’ll explain that in phase 4).

When we started coding, I had only been doing Python for a year or two; I wasn’t very good at all. This was a phase where my dad more or less carried, but I still understood his code to some extent. It is important to note that this was the first time I used APIs, a skill that would carry on into my future projects.

And honestly, APIs were the majority of my code; the weather, time and news don’t need much else. The rest of the code was formatting such as font size, full screen and orientation of widgets.

Despite how simple this code was, I was still super excited seeing what my smart mirror would look like, but on my computer:


Phase 4: Move Code into Raspberry Pi

The final part of my project was to move my code onto the raspberry pi, and to move it onto github so that I could look at it later.

While doing that first step I learned another key skill that would be used in later projects: SSHing. I never knew that I could program a machine from the outside, so my dad walked me along the process of using IP addresses and keys. I remember being confused and eager to continue at the same time.

Using Github on the other hand, is a skill I am still working on. Actually, I wouldn’t call it skill, but rather a habit. I should get into the habit of recording my work for future use, not only for colleges or employers but also to look at on my own.

Beyond that, we programmed a tiny bit more to ensure the mirror wouldn’t turn off when we left the terminal. The mirror was completed:


Conclusion

Overall, the smart mirror was a simple project, but at the same time it was an inspiration for several more to come, and I was very happy with the result (I don’t look happy in the photo, but I just came back from track practice and I was tired).

I had fun with my dad, and I learned about all sorts of things like SSH, Github, higher level Python, tinkering with materials and quality testing.

I absolutely recommend a project like this for both beginning and more knowledged undertakers, and I hope that anyone who tries has as much fun as I did.