Introduction: Raspberry Pi Smart Mirror

Find out how to make an easy raspberry pi powered home smart mirror. It displays applications so that you can check the weather and local news while you are getting ready in the morning. It's also modular, so you can easy move it around or hang it on the wall if you like. We've created a basic application that you can run on the mirror, but it's totally customizable if you want to write some of your own code.

Step 1: Materials

You will need a few materials for this project:

1 x Low profile monitor (we used an old led display, about 0.5" thick)

1 x 18" - 24" Acrylic See-Through Mirror, 1mm

12 ft - 1x2

12 ft - 1x3

1 x Wood glue

1 x Low profile HDMI cable

Various screws

We also modeled some brackets that can be used to sandwich the monitor in place

Brackets

If you don't have access to a 3d printer, you can also use a few pieces of 1x2 to hold the monitor in place.

Tools:

- Wood saw

- Miter box (45 deg angle cuts)

- Sharp scissors

- Tape

Step 2: Instructions

We've created this guide which shows you step-by-step how to build the frame, then load the application code on the Raspberry Pi. No coding experience is necessary, but you can use your own application or add more functionality to ours if you want.

Step 3: Resources

All of the code used in this video is available on Github.

That's it! If you have any questions about the project, please post them in the comments and I will answer them the best I can.
Thanks, Aaron @HackerHouse

Step 4: Update! We Added Artificial Intelligence to the Mirror

We created another video recently that show you how to add artificial intelligence to the mirror. We created this AI and use Wit.ai for the natural language processing. Since the code is open source, anyone can help to make the AI smarter.

Unfortunately, the AI is too much for a Raspberry Pi to handle, so we created a guide on how to set it up on a Mac.

Here is a link to the Github repository: https://github.com/HackerHouseYT/AI-Smart-Mirror

Comments

author
Alexander+heron+the+inventor made it!(author)2017-04-01

that's scary awsome,The ai system made me drool XD

author
y_i_ made it!(author)2017-03-21

can i do it with an Arduino

author
Alexander+heron+the+inventor made it!(author)2017-04-01

I'm guessing you must be a guy that's just beginning to know anything.zz the answer is yes if you're smart enough.but you should choose microprocessor and not microcontroller

author
SwapnilP41 made it!(author)2017-03-02

I dont have a mac...I want to add AI

How to set it up on other Operating systems??

author
jimv42 made it!(author)2017-02-20

great project thanks could not find the place to input the pi's ip address and when i ran the smartmirror.py file i get an error "locale.Error unsupported locale settings" please help thanks

author
197133 made it!(author)2017-02-16

what size monitor did you use?

author
Zeeshan+khattak+ made it!(author)2017-01-05

How I download PDF file with out intering premium

author
MonserrattT made it!(author)2017-01-31

How I download PDF file with out intering premium

author
birdeatert made it!(author)2017-01-26

The AI is lagging. Is there a way to make it faster?

author
HackerHouse made it!(author)2017-01-26

The lag is mainly caused by your network latency since most of the components are simply service calls.

author
Samarjeet+Chavan made it!(author)2017-01-04

for python smartmirror.py,

I am getting this,


Traceback (most recent call last):
File "smartmirror.py", line 330, in <module>
w = FullscreenWindow()
File "smartmirror.py", line 307, in __init__
self.clock = Clock(self.topFrame)
File "smartmirror.py", line 77, in __init__
self.tick()
File "smartmirror.py", line 80, in tick
with setlocale(ui_locale):
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "smartmirror.py", line 39, in setlocale
yield locale.setlocale(locale.LC_ALL, name)
File "/usr/lib/python2.7/locale.py", line 579, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting

Please help.

author
Samarjeet+Chavan made it!(author)2017-01-05

i figured out that i am entering my countries (India's) country code wrong! I looked everywhere but it is "IN" but when i enter it, this error appears. Whenever i keep it blank ("") the code runs smoothly. But, i don't see weather or news.

author
Kieron+finch made it!(author)2016-12-27

Would it work with a normal mirror? I don't know where to get an acrylic mirror

Like it if you can find a link please

author
David+LG made it!(author)2016-10-11

Hey guys ! GREAT PROJECT !

I just made one and it works great !

Would you be willing to make a tutorial about how to add other APIs in there ? Or maybe advise me some good tutorial you know about, still using python (Say i would like to know how much clicks i get on my website for example ?)

Great job, thanks a lot for sharing, you made the world a little better doing so.

author
David+LG made it!(author)2016-11-16

Yes ! how much clicks you get is a real cool feature, but i would also like to have what's in my google agenda for the day, any help ? I'm trying to figure it out by myself but my programming skills aren't that good for the time being.

author
SamuelKJKemp made it!(author)2016-11-03

Hi Great Project, I am trying to follow along but got stuck when I want to run the phyton code I get the following error:

Traceback (most recent call last):

File "smartmirror.py", line 12, in <module>

import feedparser

ImportError: No module named feedparser

any help will be appreciated

author
kingarthur17 made it!(author)2016-10-21

Hi,

great project!

Does voive recognition also work with german language?

What steps need to be done to get it working on a raspberry pi?

Thanks!

author
Labovski made it!(author)2016-10-16

Great tutorials, but please skip the background sound in the videos. It only makes it more difficult to hear what you are saying.

author
KevinK513 made it!(author)2016-10-04

Hey! Nice video. Do you think that this could be done with a "replacement" laptop screen?

author
SkaterP made it!(author)2016-10-07

vertainly. Im doing the same with a 17" laptop screen. But I needed one more part. I ordered an LCD Converter Driver Monitor Kit

s-l1600.jpg
author
JohnathanP made it!(author)2016-10-02

GREAT

author
iainmacmillan made it!(author)2016-10-02

hey that's really good and thanks for the code. i have friend who is a crazy good woodworker so we will give a shot

author
primosanch made it!(author)2016-09-29

Pretty cool. Thanks for sharing.

author
jdevendorf made it!(author)2016-09-06

I've seen this project on here before, but this looks to be a much cleaner finished product.

About This Instructable

59,244views

874favorites

License:

More by HackerHouse:Light Painting With a Raspberry Pi LED RobotRaspberry Pi Smart Phone Connected Door LockRaspberry Pi Motion Tracking Airsoft Turret
Add instructable to: