December 15, 2013 By James Hobson 47 Comments
Do you let Google know every aspect of your personal and social life? Do you have a spare LCD monitor kicking around? Why not make your own Raspberry Pi Wall Calendar?
[Alex] recently bought his first home (congratulations!), which happened to have a TV wall mount in the kitchen. Personally, we don’t think TVs belong in the kitchen, and neither did [Alex]. Not wanting to tear the mount out of the wall (and thus require home renovations too soon), he devised a clever solution: why not make a digital calendar?
[Alex] connected a Raspberry Pi model B to the LCD monitor, which provides convenient access to his Google Calendar. His Instructable is both meticulous and approachable, so novice hackers should have no trouble replicating this build. The only improvement we can think to suggest is substituting a touchscreen LCD, which would allow him to interact with the schedule.
Whether you “let” Google know about your life— or it just knows—this is certainly a handy hack for the 21st century home!
To tackle this instructable you should have a general understanding of home networking and computing, some linux experience wouldn’t go astray but is not really necessary. If you run into something you don’t understand just remember google search is your friend.
Equipment you will need
- Home network (wireless if you can’t run a cable to the Pi)
- Raspberry Pi (I’ve used the model B)
- SD card 2GB or larger
- AC Adaptor (I used a USB wall charger for mobile phones check here http://elinux.org/RPi_VerifiedPeripherals#Power_adapters)
- Micro USB cable
- USB keyboard and mouse
- USB wireless adaptor (MAKE SURE IT IS COMPATIBLE OUT OF THE BOX http://elinux.org/RPi_USB_Wi-Fi_Adapters)
- HDMI cable
- Wall mountable HDMI capable monitor or any monitor with some kind of HDMI converter
- Wall bracket for your monitor
*I will not be showing how to wall mount your monitor as the bracket was already on my wall*
I am using an SD card I already have. Plug the SD card into your computer and download the latest Raspbian http://downloads.raspberrypi.org/raspbian_latest
I’m using windows so I unzipped the file and used win32diskimager (http://sourceforge.net/projects/win32diskimager) to write the Raspbian image to the SD card.
If you are still not sure there is a tutorial here http://elinux.org/RPi_Easy_SD_Card_Setup
Ok now we have Raspbian installed it’s time to get our Pi up and running, plug in your SD card, Wi-Fi dongle, USB keyboard, Ethernet cable to your router, HDMI to your monitor and lastly the micro USB cable to the power socket. The first time you boot up you’ll end up with the configuration screen.
The changes you need to make are:
- Expand the filesystem so Raspbian utilises the entire SD card
- Change your password
- Enable boot to desktop
- Set your language, region and time zone
Go into advanced options
- Change your hostname so you can recognise your Pi on the network.
- Enable SSH so you can access your PI from a computer on your network.
- Select finish which should restart your Pi.
Step 2: Keyboard and updates
To do this you’ll need to change a file by opening your terminal and entering the command:
sudo nano /etc/default/keyboard
Use the arrow keys to move the cursor and change the gb to us.
Now save the file by pressing ctrl + X and Y to save changes
Now to update your Pi, type the following commands:
sudo apt-get update
sudo apt-get upgrade
Press y and hit enter to download updates (this will take ages so go have a coffee/beer).
Step 3: Wireless Setup
To get your Wi-Fi dongle working you may need to edit the wpa_supplicant.conf file by typing
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Then make it look like this:
ssid=”your network ID in quote marks”
psk=”your network password in quote marks”
To save the file press ctrl + x then Y and enter to save
Restart the Pi by entering:
You should be able to see if your Wi-Fi dongle has an IP address with the command
You should get something like this
wlan0 Link encap:Ethernet HWaddr 64:66:b3:06:43:1b
inet addr:10.0.0.75 Bcast:10.0.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:912384 errors:0 dropped:121692 overruns:0 frame:0
TX packets:706463 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:694114055 (661.9 MiB) TX bytes:71017681 (67.7 MiB)
Step 4: Iceweasel
sudo apt-get install iceweasel
Type y and hit enter to complete download and install.
Once complete Iceweasel should pop up in the menu under internet, open it so we can start configuring. First open up your google calendar and save the password in case you get logged out at some point. Now set google calendar as your start page.
Now we need to disable restore pages after crash in case of power outage google calendar might not show up by itself which is annoying if you have no KB/Mouse connected.
Type in about:config in the address field and hit enter.
Now find the “browser.sessionstore.resume_from_crash” line and double click to change it to false.
Hit the F11 key to go fullscreen and hover your mouse at the very top of the screen then close the browser once the x appears in the top right corner.
Re-open the browser and it should open to your google calendar and still be full screen.
We also want Iceweasel to start automatically so we’ll need to change the autostart options.
sudo nano /etc/xdg/lxsession/LXDE/autostart
add @iceweasel to the list
now press ctrl+x the Y and enter to save the changes
Step 5: Cursor and powersave
First we’ll install Unclutter to get rid of the cursor when it’s not in use.
sudo apt-get install unclutter
Now we need to edit the /etc/lightdm/lightdm.conf file to prevent powersave/sleep mode
sudo nano /etc/lightdm/lightdm.conf
Move down to: [SeatDefaults]
Change this line:
xserver-command=X -s 0 –dpms
now press ctrl+x then Y and enter to save the changes
Step 6: You’re done 😀
If something stops working just unplug the pi then plug it back in, hey presto she starts again.
Unfortunately my spare HDMI monitor does not have the screw holes for a wall mount bracket.
I have decided to use an old VGA monitor I had laying around, just have to wait for the HDMI to VGA converter.