For my final project, I would like to make the magic mirror from Snow White.
These are all the components I would need to implement for my project to meet my base expectations, including being able to wake the mirror by approaching it, talking to it, and seeing some sort of visual indication of it's processing.
An update from 12/8 for hardware specifics: I will be using the Adafruit I2S MEMS Microphone breakout board, the VL5L1X breakout board, a Neopixel LED strip, and the MAX98357A amplifier for the speaker.
The MVP includes the distance sensor and lights. If you walk up to the mirror, the lights inside the mirror will turn on, illuminating the face behind it. Once this is successful, I'll spend any extra time on completing the mic + speaker experience!
For the physical components, I will design a mirror, as pictured here. I need to modify the CAD for the new work process, as I was initially intending on printing it.
Since I am planning on CNC-ing this out of a carveable material, I'll add more excess material that I can carve away to improve the aesthetics. I would then paint it gold and add other aesthetic accents with available materials.
I also need to create the face inside the mirror, which I did during composites week. This is the inspiration!
Since I want the mirror to be reflective but let a little light through, I found a reflective film with privacy protection as shown in this diagram. I need to test it, but hopefully I will be able to see the face behind the mirror in dark spaces.
I am planning on laying the film on clear acrylic and laser cutting it.
You can see my progress for speaking to the mirror from Interface and Application programming week, where I connected my XIAO over WiFi and Websocket to query GPT.
In terms of deadlines and timeline, I have separated the two into physical processses and software.
12/11 Update: The above timeline is deprecated. I should have known myself better.
Previous Brainstorming
I would want this mirror to be able to:
- Recognize people (either previously registered or recognize that a face is unfamiliar)
- Respond to verbal questions, much like a home assistant
- Visually respond in some way to show that it is "alive" or "thinking"
- Act as and look like a mirror when not engaged with
For this requirements, I would need the following components:
- A microcontroller with input devices of a mic and camera, output devices of LED lights and a speaker, and be able to communicate with cloud/another computer
- A program on another device/cloud which can process speech-to-text, be queried for natural language responses, and process text-to-speech to send back to the microcontroller
- A program for how the LED ligths (I'm currently imagining a panel of them rather than a screen) will respond behind the mirror to indicate that it is "thinking"
- A design for the frame of this mirror (make something big week?) that can be milled
I will add to this list as I go on, as well as think/ask more about the speech communicating component, since latency will be a big issue but microcontroller programming is a big component of the final project, so I cannot just jump to a more powerful processor.