Sections on this page:

  • Architecture
  • Use Cases
  • Interaction Diagram
  • Technical Specification
  • Components


Aprily 07, 2017

General Architecture

  • Above is the system architecture for the Magic Mirror. There are 3 external hardware subsystems and 1 custom subsystem. The visual, motion, and audio subsystems are all configured and controlled with the Raspberry Pi. The mirror also pulls information from the cloud, including emails and weather and calendar information. Finally, the defogging subsystem is implemented to remove fog from the mirror, for example, after showers. This is a custom PCB and a separate system that is self-regulated (see below).

Custom PCB

  • The custom PCB uses a Honeywell HIH-4030 Humidity Sensor to sense humidity and transmits this data via analog wire to an Atmel ATmega328p MCU. Based on this sensor, the MCU heats up and cools down the thermoelectric panels by supplying a voltage accross the pin headers. 

Use Cases

Check Information

  • Able to check a variety of information while getting ready for your day, including
  • 1. Time
  • 2. Weather
  • 3. Alerts

Various Apps

  • Variety of apps connected to accounts, such as:
  • 1. Email App - Connected to email
  • 2. Calendar App - Connected to Google Account
  • 3. Image Gallery App - Connected to Google Account

Interaction Diagram

Technical Specification

Basic Requirements

The M4 shall be able to receive:

  • •vocal commands via microphone
  • •motion commands via LeapMotion sensor
  • •image information via camera
  • •humidity information via humidity sensor
and initiate the appropriate corresponding action, providing audio/visual feedback corresponding to success or failure of the action.

Functional Requirements

The M4 shall be have the following features:

  • •Voice/motion controlled UI using Google Speech Recognition and Leapmotion
  • •Defogger with sensors that will detect when the mirror fogs up and automatically defogs it
  • •Cloud-based services, including Google Calendar, Google Pictures, and Gmail


The following are the components we are using to build the M4: