Introduction: Notification Center - a Raspberry Pi Project

About: Hey everybody, thanks for checking out my stuff! I love making projects for other people to try, and I have some more at my personal website. Come check it out!

My wife and I share a google calendar, and she does a pretty good job of putting things on there that we have scheduled to do, but my main problem with the system is that I forget to look at the calendar app in the mornings and am generally reminded about an event when its time to go. So I needed something that could help me stay on top of our calendar without putting in more effort than the bare minimum to do so. So I did a project that required a pretty good bit of effort to exhort minimum effort in the future. Yay engineering….

The idea came from a design I saw years ago, and some research earlier this week led me to the same conclusion now that I had then….“This is great and all, but it looks terrible…” So I came up with a plan to make it look better and blend a little more seamlessly into the normal decor of a house.

I have an old TV that was my grandfathers and was one of the things I got when he passed, and I know technology is a dumb thing to be sentimental about, because technology isn’t really lifelong and becomes obsolete really quickly, but I have held onto it for years without throwing it out even though we have no use for it simply because it was his. And now it has a home. Its a decent 720p monitor, but I’d recommend a 1080p screen if you’ve got one, just because you can pack more info on it.

If you'd like to see some of my other projects, come check out my website at www.sampaulling.com

Step 1: What You Need

A Raspberry Pi

This is the heart of the build and what makes everything work. (preferably a model 2 or 3)

A screen

A decent size is key here. You'll want to be able to see it from across the room. Mine is 23" and its very visible from the next room (the kitchen). I started with a screen that was very thick, which I don't recommend. See if you can get something that starts a lot thinner. If you need to buy one, I have found one I would want to use in my next evolution of this project. See the link above.

A wifi USB connector

The Raspberry Pi model 3 has wifi already, but older Pi's do not. You'll need one of these little dongles.

A keyboard

I recommend a wireless keyboard because you're not going to want any extra cables hanging out of this thing. Takes away from the clean look.

Connection cables and Power Cables

HDMI cable, Screen Power cable, Raspberry Pi power cable

Wood for a frame

I used 2x4's for the sides and a 1x3 for the faceplate.

Wall Hooks and Hangers

Two D ring hooks on the back of the frame and two wall anchors hold this thing up.

Step 2: How to Build It

The build goes like this:

Getting the Screen Ready

  1. Disassemble the tv/monitor. Remove all the plastic frames, stands, supports, ect. Make this thing as skinny as you can get it. You’ve got about 3″ of depth before it starts to look ungainly on your wall. If you cant do that, get a smaller monitor. CRT TV’s are just straight up out. Gotta be LCD.
  2. Figure out how to align all of your components on the back of the LCD panel WITHOUT ANYTHING TOUCHING. This is crucial. Nothing can touch each other and nothing can touch the metal of your LCD. I used some rubber 1/8″ mat that I have to insulate all the circuit boards and that worked pretty great. Tape that down and then tape down the boards to it. Nothing blows up.
  3. Connect everything. Route the cables around and around so that you have minimum overlapping to prevent electrical noise generation. Don’t just pile the cables up on top of each other. Tape everything down. It doesn’t have to be pretty. Its on the back. You are left with the picture on the left..

The Wood Frame

If you have a SUPER SKINNY monitor, maybe you can just hang what you got, but mine still ended up being about 2 1/2″ deep, so I needed a frame to hide the sides, and my aluminum frame around the LCD didnt look good either.

My wood frame is simply 2×4’s cut so that the inside diameter is exactly the outside diameter of my LCD + a tiny tiny margin. 1/16″. It fits snug if you do it right.

I realized that my 2×4 frame ended up being about 1 1/2″ deeper than it needed to be, so I ran the boards lenght-wise down a table saw and made them 2x3ish ‘s. Just to remove some of the depth. My components are now closer to the wall but still not touching.

The front of the frame is 1×3 select pine with a real smooth finish. To make the 45 degree cuts, start with 1×3 boards that have the same length as the outside edge of your 2×4 frame and then cut 45 degrees at each end.

(Outside length of LCD + 2x(width of 2×4’s)) = (Outside length of LCD + ~3″) –> cut 45 degrees.

Be super careful with the cutting of the 45 degree cuts and youll get a nice frame that fits over the top of the screen and 2×4 frame. Nail it on with finishing nails, sand everything until super smooth, and stain whatever your hearts desire. I use Minwax stains because my grandpa would have approved. Let dry.

Now that you have the frame built, lay the LCD panel inside and it should fit snug. Mark where the following components are:

  1. The remote control receiver
  2. The power button
  3. The USB ports of the raspberry pi
  4. The speakers (only one of mine fits on the outer edge so the other is just in the middle)

Take the LCD out again and use a forstner bit (mine is 1 1/8″D) to drill out holes for these things so you can reach through the frame and use these buttons/ports/features. This allows you to plug in keyboards, press the power button manually, or use the remote.

I also have three holes drilled in the top and three more in the bottom on the opposite side for passive air cooling and flow. (So far after a few months of running this seems to be enough to keep it cool. No need for active noisy fan.) Stain the inside of these holes.

Mount the frame to the wall with STURDY hooks. I used two that each hold 35 lbs, and this whole thing weights about 20 lbs, but I wanted to be sure.

Step 3: The Programming

This part is not as hard as it sounds, but it does take some work if you aren’t familiar with setting up a raspberry pi. As far as raspberry pi projects go, this one isn't that hard, but its still pretty technical.

The basic idea here is to run an operating system called “Raspbian” and then boot up automatically in “kiosk mode” to start displaying the information you want and hiding the operating system. Raspbian is a version of linux that runs smoothly on Raspberry Pi’s and looks kind of like old school windows. Kiosk mode is a function of Chromium (Google Chrome) puts up a full page webpage while hiding everything else. And the software the I used to create the information dashboard is a currently beta product called DAKboard.

Download and Install Raspbian OS

Go to https://www.raspberrypi.org/downloads/noobs/ to get started with raspbian. Then follow the guide here: https://www.raspberrypi.org/downloads/noobs/

Now that you have the basic operating system, we need to tweak it a bit.

In terminal run :

raspi-config

Choose the following options : Boot to desktop, enable SSH server, set proper time zone

Set your wifi name and password. In terminal:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

and add :

network={ ssid="YOUR_NETWORK_NAME" psk="YOUR_WIFI_PASSWORD" }

Save with ctrl+x, press y, and exit.

If you want to mount your display vertically, like I have, you can change the rotation with the following: In terminal :

sudo nano /boot/config.txt

and add:

display_rotate=1

Save with ctrl+x, press y, and exit.

Reboot with :

sudo reboot

Upon restart, open terminal and type:

sudo apt-get install chromium unclutter vim

Notes on Chromium

Chromium isn’t included in the Raspbian Jessie repository (as of 12/9/2015). Instructions to download and install on Raspbian Jessie are here.

Then finally, we can tell it to load up our DAKboard page on boot.

Create a DAKboard

Go to www.dakboard.com and create and account there. Its free (for now) and it allows you put in your google calendar information, your zip code for weather, and folder in your dropbox that you’d like to get background pictures from. There are some other options too, and its pretty straightforward, so set it up however you’d like your information to be displayed. I also pull in Facebook Birthday’s Calendar and use the weather underground option for weather. (It takes more setup but looks better.)

Set DAKboard to start on boot

For Raspbian Wheezy:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart @xset s off @xset -dpms @xset s noblank @chromium --noerrdialogs --kiosk --incognito http://dakboard.com/?p=YOUR_PRIVATE_URL

For Raspbian Jessie:

sudo nano ~/.config/lxsession/LXDE-pi/autostart @xset s off @xset -dpms @xset s noblank @chromium-browser --noerrdialogs --kiosk --incognito http://dakboard.com/?p=YOUR_PRIVATE_URL

Reboot again and you will see your Dakboard page come to light as soon as the computer starts up. (Give it a minute.)

As you can see, ours is by the backdoor next to my keys and sunglasses holders and next to the mail sorter. The clock is visible from the other rooms and the kitchen, and the calendar and weather are visible from a little bit closer.

Maker Olympics Contest 2016

Participated in the
Maker Olympics Contest 2016