DIY Smart Mirror
To make their lives simpler and ease their day-to-day routines. One such
tool is a multipurpose mirror used both as a mirror and a device. There
have been several successful attempts of building such a device, and some
of them even turned into business opportunities. However, due to its selling
prices and shipping policies regarding Bosnia and Herzegovina, it is almost
impossible to acquire one. The main purpose of this paper is to show how
the process of building a Smart Mirror from scratch showing basic
information such as time, date, weather statistics, and recent news
headlines. The displayed information is accessible at any point in time. The
cost-effective analysis indicates significant cost savings for produced
outcome compared to available off-the-shelf solutions.
Keywords: smart mirror, raspberry pi
1 Introduction
In the past few years, technology has become important and inevitable part of
our daily routines. With technology progressing at rapid pace, people are also
expected to be more productive and efficient in their daily activities. The use of
smart phones, tablets, laptops and other similar devices has provided people
with tools that help them stay productive and, more importantly, be time-
efficient. However, as much as the use of such devices is time-efficient, it is also
time-consuming as it has become yet another task on ones daily to-do list. In
addition to this, time demands (deadlines) are most often the main cause of a
person being under pressure. Therefore, good time management is the key to
getting things done. This does not only apply to ones professional life, but to their
private life as well.
One activity common to us all is getting ready to leave the house in the
morning for school/work duties. It also consumes a good amount of time in the
morning. Checking the phone constantly to see what time it is or what the
weather is like for that day does not seem much time-consuming. But it is. Being
focused on task at hand for a specific period of time is what good time
management is.
In this paper, we present a multipurpose mirror that is meant to serve as both
decoration and information source. With just one look at the mirror, one will have
the basic information on what to wear based on weather forecast for that day or
how much time they have left if they want to arrive on time at planned
destination.
The paper is organized in the following way, in section 2 we give a brief
overview on what is currently available on the market as well as how it is being
used in the research. Section 3 defines the concept of the smart mirror. The
design and development are explained in more detail in sections 4 and 5. In
section 6 we provide a cost-effectiveness analysis of available smart mirrors
compared to our solution, while in section 7 we give conclusion and suggestions
for the future work.
2 Related work
According to research, there are many different and interesting approaches to
building a smart mirror. Some of the solutions are available on the market, while
others are just prototypes or Do-It-Yourself (DIY) projects developed by
enthusiasts for their own use.
The Cybertecture Mirror [1], developed by James Law, displays basic
information such as date, time, and weather. It also allows social network
integration, so the user has access to their social accounts even when in
bathroom. The mirror can be controlled either by the remote controller or the
mobile application. In addition to the mentioned features, the mirror also has
embedded sensors that monitor persons health vitals such as weight, heart rate,
or body fat. It is possible to watch videos or listen to music, as well as workout
while following the exercise instructions displayed on the mirror. This device
offers a wide variety of features which can be customized for every need.
However, the price of the mirror does not make it quite affordable to everyone
because the cost of customization goes from 3,600to7,700 [1]. In 2012, at the
Consumer Electronics Show held in Las Vegas [2], Samsung presented Smart
Window a window that is also a device [3]. Although not a mirror, this device
allows users to access applications such as weather or social apps all the while
serving as a window. Serakus Smart Washbasin running on Android OS, displays
various information, from news and weather forecast to how much water is being
spent each day or how much a person weighs [4].
Another high-tech mirror on the list of currently available is Magic Memory
Mirror, also known as Memomi [5]. This mirror is being used as a replacement for
dressing rooms in shops that sell clothes. Customers are able to interact with the
mirror through the mobile application. The mirror gives them a 360-degree view
of their outfits as well as the possibility to modify their looks by changing the
color or adding accessories to the outfit [6].
Aside from the above mentioned products, there are also smaller-scale
projects that involved piecing components together to achieve the functionality of
a smart mirror. These are mostly done as DIY projects and are used for individual
purposes [7,8].
Max Brauns bathroom mirror stands out from this group (DIY projects) [7].
This mirror does not offer as many features as those that are being sold, but it
does serve a purpose of a smart mirror as it displays basic information a person
needs while in bathroom such as the weather, time and date, and news.
There are numerous other projects that involve building a custom-made
smart mirror. One of the main reasons for this undertaking are the prices of
available off-the-shelf products. With a bit of effort and imagination, the same
result can be achieved and with much lower expenses. In section 6 we will
provide a more detailed analysis of costs and performances of available smart
mirrors compared to our built-from-scratch solution.
3 Concept
The idea behind our smart mirror is to display information such as time, date,
weather, and list of tasks to be done on a mirror display. This is the basic
information we need not only in the morning, but throughout the day as well.
Making the most of the available time we have during the day is crucial when it
comes to being efficient and productive, and this project is a great example of
how technology can make our lives simpler and ease our day-to-day routines.
The concept of a smart mirror has been around for several years. The
inspiration came from the Internet of Things (IoT) concept, which could be
described as an effort to make everything smart. The goal behind this concept is
to provide people with technology that would make their lives simpler and ease
their daily routines. At its core, Internet of Things is about connecting devices
over the Internet in a way that enables the communication between users and
applications on such devices [9].
Following this concept, hardware components that are necessary for the
mirror to be functional have been acquired. These include a Raspberry Pi
controller board [10], monitor, and see through mirror [11]. In section 4 we give a
detailed description of how these components are put together and tested out.
4 Design
The design of the device is done in two parts. The first part deals with designing
the box that is used as a container for the monitor, controller board, and mirror.
Both monitor and Raspberry Pi need to be placed inside the box and secured to
avoid any possible damage to any of the components while moving the box
around. Once these two components are fixed, the mirror will cover the front of
the box. Any information that is to be displayed on the mirror will actually be
displayed on the monitor. The characteristics of the mirror are such that the front
side is reflective and acts as a mirror, while the back side is transparent, so
anything that is displayed on the monitor can be seen on the mirror surface.
Therefore, the mirror needs to be placed directly onto the monitor to ensure that
all of the information is visible. In addition to this, the box will have openings for
the controller board and monitor power cables. Furthermore, since Raspberry Pi
has several USB ports that might be needed for keyboard or mouse for manual
configuration of the device, the box has a side opening. To avoid any possible
movements of the monitor and controller board that could cause damage to these
components, the box will have compartments for them to ensure they stay in
place. We used Creo Parametric software [12] for modeling. Initial model of the
box is shown in the figures below.
(a) Front view of the box (b) 3D model of the box (c) Front cover of the
box
Fig.1: Box model
Figure 1a illustrates the front view of the box. There are three compartments:
one for the monitor, one for the controller board, and one for fixing the power
cables.
A 3D model of the box is given in Figure 1b. In addition to the three
compartments, one can also see an opening on one side of the box. This opening
will allow access to the controller boards USB ports.
Figure 1c represents the front cover of the box. Once all components are
placed inside, the box will be sealed with this cover and thus keeping everything
inside of the box in one place.
The second part of the design is designing the application. Because the goal is
to have a mirror that is displaying certain information, the design has to be such
that the existing surface of the mirror, which covers the monitor, is used in the
most efficient manner. The information that is to be displayed needs to be
arranged in such manner that the display area of the monitor is efficiently
utilized and that it does not stand in the way of ones reflection. Thus, careful
planning of the design is an imperative. The best way to achieve this is to place
these pieces of information in the corners of the display, leaving the mid part of
the display surface empty, so that the persons reflection in the mirror is clearly
visible. The final solution is given in the figure 2:
Fig.2: Information displayed on the monitor
5 Development
Upon the completion of the design phase, the development phase begins. In this
phase, the application that generates the specified information is developed.
Prior to that, Raspberry Pi needs to be set up and configured so that it can run the
application without problems. The set up includes a fresh install of a compatible
operating system, which in this case is Raspbian. Once the operating system is
installed, Raspberry Pi needs to be configured to automatically run the
application on boot. This way, as soon as Raspberry Pi boots, the application is
started in a full screen while hiding all other system components and features.
These features can be accessed only when a keyboard is plugged in for debugging
purposes. Once the configuration is done, the application is developed and
installed. The application will be developed according to the design
specifications. It will generate the specified information that include time, date,
weather forecast, and list of tasks. The background of the application will be
black and the font color will be white to ensure maximum reflection of the mirror.
The initial solution for the application is to develop a website. For the
development of the website, we will use Laravel framework [13]. The idea is to
implement a sign-up/login feature, so that the user has their own account and is
able to customize the mirror in the future. The user will enter their credentials
during the first Raspberry Pi boot, and upon a successful login, they will be
redirected to the page where the relevant information is stored. The Raspberry Pi
is configured in such a way that, when it boots, it automatically launches the
browser and loads a specified website. In the same manner the website that will
display the information for this project will be launched. Aside from the
sign-up/login feature, the website also allows a user to, once signed in, add or
delete tasks they have set for themselves. These tasks are displayed on the page
that is launched on Raspberry Pi. Adding and removing tasks is done over a smart
phone, tablet, or laptop. Tasks are specific to users, so without being logged in it
is impossible to add or remove any task. In addition to this, a request to the
server is sent every thirty seconds to check if new tasks have been added or if
some tasks have been removed so that the list can be updated accordingly.
6 Cost-effectiveness analysis
Products that already exist on the market and that are being sold are usually
overpriced considering the fact that the same result can be achieved by investing
some time and effort. In section 2, we discussed several different products and
one of them, Cybertecture Mirror, was priced in thousands of US dollars, which
limits it from mass-production. There are other products that cost less than
Cybertecture Mirror. However, due to the lack of customization, the prices are still
high. One example is Perseus Mirror [14] which costs $249, but the dimensions of
the mirror are fixed, so the customers who wishes to own a larger mirror would
not be satisfied with this one. Another smart mirror on the market is Smart Touch
Vanity Mirror [15] sold by Evervue. This mirror is more expensive than the
previous one and the prices range from $799 to more than $1,500, depending on
the user customization. These prices do not include the costs of shipping to
Bosnia and Herzegovina. All of the devices mentioned above are very similar in
terms of applications running on them. They all show the same basic information
and have similar features. However, this is a matter of software development and
not hardware. So, from this perspective, it is by far cheaper to invest into the
necessary hardware components and time and effort into developing the
software. For example, the basic hardware components that are necessary for the
smart mirror device to be functional include the controller board which costs $37
[10], the see-through acrylic mirror which costs around $27 [11], and the
monitor, which can be found in computer stores that sell used computer
equipment for under $50. The price of building the box for these components is
under $20. Therefore, the overall price is around $134, which is a bit over half the
price of the cheapest device mentioned above. This is in case all of the hardware
components need to be purchased. The costs of building our device are lower as
we already have the monitor, so the costs of our device will be around $84. This is
shown in the table 1 below. All that is left is to invest time in developing the
software that will generate the desired content.
Table 1: Cost-effectiveness analysis
MIRROR PRICE ($) ADVANTAGES/DISADVANTAGES
Perseus Mirror 249 Fixed mirror dimensions
Smart Touch Vanity Mirror 799 to 1,500 Customizable, but expensive
Smart Mirror 134 Customizable and low cost
7 Conclusions and future work
This project started as an attempt to contribute in bringing smart homes and
devices to Bosnia and Herzegovina. Although the features this device offers are
bare minimum of what it could offer, there is room for improvement and further
development. At this time, the purpose of the displayed information on the
mirror is to save the time spent in the mornings in search for such information. In
the future, additional features will be added to the mirror, allowing it to be more
customizable and user friendly. Users will be more in control in terms of selecting
which type of information they wish to be presented with. They will also be able
to interact with the mirror by using their smart phones. Smart Mirror is currently
a hot topic. The purpose of this paper was to provide an overview of currently
available solutions and detailed instructions on how to build your own. With
enough time and effort, this project could turn into a great opportunity for
further development and integration with other smart home components.