Introduction: Raspberry Pi Wall Mounted Google Calendar

Picture of Raspberry Pi Wall Mounted Google Calendar
Recently I purchased my first home. In the kitchen there was a small TV wall mounted however the TV itself was faulty so I was wondering, what should I do with this wall bracket since I didn’t really want a TV in the kitchen area. Then it dawned on me, instead of using a paper calendar with tiny little boxes to write things in I want my Google calendar on the wall.

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
  • Micro USB cable
  • USB keyboard and mouse
  • 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*

Step 1: Raspberry Pi Setup

Picture of Raspberry Pi Setup
First we'll setup the Raspberry Pi, to do this you'll need to have Raspbian installed. You can buy a Pi with Raspbian pre-installed or you can use a 2GB or larger SD card that you already have.

I am using an SD card I already have. Plug the SD card into your computer and download the latest Raspbian

I'm using windows so I unzipped the file and used win32diskimager ( to write the Raspbian image to the SD card. 

If you are still not sure there is a tutorial here

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

Picture of Keyboard and Updates

If you are in the US or Australia like me you will want to change the keyboard layout to US.
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

If you just want to use Ethernet you can skip this step.

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:

    pairwise=CCMP TKIP
    group=CCMP TKIP
    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:

sudo reboot

You should be able to see if your Wi-Fi dongle has an IP address with the command

sudo ifconfig

You should get something like this

wlan0     Link encap:Ethernet  HWaddr 64:66:b3:06:43:1b
          inet addr:  Bcast:  Mask:
          RX packets:912384 errors:0 dropped:121692 overruns:0 frame:0
          TX packets:706463 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:694114055 (661.9 MiB)  TX bytes:71017681 (67.7 MiB)

Step 4: Iceweasel

Picture of Iceweasel

Now we’ll install a browser that actually displays your google calendar properly. Iceweasel is a derivative of Mozilla’s Firefox, to install enter the following command.

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

The next step is to get rid of that pesky mouse cursor and stop the screen from going to powersave/sleep mode.
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:

to this:
xserver-command=X -s 0 –dpms

now press ctrl+x then Y and enter to save the changes

Step 6: You're Done :D

Now it’s all setup you can plug it in to your wall mounted monitor and turn it all on.
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.


downeysyndrome (author)2013-12-14

This would be awesome if done with a touch screen, not that it already isn't!

Muniosi (author)downeysyndrome2013-12-14

Agreed! It would be so much easier to add events! I wonder, how easy is it to get a touch screen to work with Raspberry Pi?

Kasm279 (author)Muniosi2013-12-18

A lot of ELO's touchmonitors have open source drivers, I assume one could work them into working with the pi's ARM CPU.

TylerF64 (author)Kasm2792017-04-08

this is 3 years old, but FYI ELO monitors work really well with RPi, I didn't even need to download anything, it just worked.

mirrors1 (author)Kasm2792015-12-21

Oh, can't fault me for necroing a thread about serial connected touch monitors. Work had a couple of Planar 15" touch monitors not being used.
Have installed via pci card to a fedora desktop with success. Will be looking into but presuming it will work, when I get to that step. I only just picked up a Pi B second hand, still naive and taking my time. I also picked up a USB to serial adapter on some delorme gps boxes I picked up.
Will update on success if there's any input. Any moral support welcome.

tecknowolf (author)mirrors12016-04-04

Mirrors1, did you finish the touch screen? How did it go?

tecknowolf (author)mirrors12016-04-01

Mirrors1, how goes the project? I am gathering the parts to do the same thing. Would a Pi Zero also work?

Piney (author)Muniosi2013-12-14

Definitely doable but pricey and I didn't see if any screens had mounting holes.
sudo apt-get install matchbox-keyboard

AlderTA (author)Piney2017-01-11

Speaking of cost. How much does this impact on your energy bills?

Or do you only turn the monitor on as and when you need/look at the calendar?

NakanoYamato (author)Piney2013-12-15

You could use a touch screen adapter.
I don't know where you can buy outside my country (Brazil), but i found this:

Maybe you can get the idea.

Piney (author)downeysyndrome2013-12-14

I agree a touch screen would be awesome. You can just add events with your phone, tablet or computer and they pop up on the screen after several minutes.

posborne1 (author)2013-12-14

Will the same thing work with iCloud calendars, or will iCloud require you to keep entering your password again any time the computer restarts?

mitchell931993 (author)posborne12013-12-30

Personally, i have my iphone calendar automatically synced up to my Google calendar so that by default any new events i make on my phone are synced there. Consider that.

NakanoYamato (author)posborne12013-12-15

Usually, iCloud does not require my password when i restart my PC.
Just mark "remember me" and you're good to go.

But, sometimes, it does require my password while i'm using it.

And i saw somewhere someone syncing iCloud with GCalendar. Can't remember where.

Piney (author)posborne12013-12-14

I don't have icloud, it should behave exactly as it does of your computer.

yenkhushi (author)2017-09-09

I have made this project with iceweasel but now all of the sudden it stopped working tried to reinstall the image on SD card and from terminal it is not allowing to install iceweasel any more anyone suggest what I do now

kurta10 (author)2017-08-04

Not hard to do a touch screen

ChristopherR144 (author)2017-05-17

help for some reason I cant get it to display the calendar correctly. It returns as error loading google calendar.

ryan smith2 (author)2017-04-06

Mine would stay open for a week then Debian would start going back to sleep.

I added these lines to the autostart and it fixed it

sudo nano ~/.config/lxsession/LXDE-pi/autostart

@xset s noblank

@xset s off

@xset -dpms

*Then save*

control X

y enter

jackp77 made it! (author)2016-07-31

made it for my wife, i added a touch screen, speakers for audio alarm (because she was missing appointments, not checking a normal calendar) and a keypad if she prefered to use that for typing, i used a 10" touch screen because of space

CoolJerkR (author)jackp772016-12-30

Do you think this would work with maybe a 20"-30" touchscreen display? If so any particular brand more compatible than the other?

Palle DueL (author)CoolJerkR2017-04-06

I bought an Asus VT207N. It's 19.5" and touch worked pretty much out of the box.

jackp77 (author)CoolJerkR2016-12-30

I cant see why it would not work with a 20 - 30" touchscreen, the main thing is to make sure it is compatible with your raspberry pi this may help the biggest thing i can say is to do the research first, I went the path of one labeled for raspberry use and the largest i found was 10.1

GreenMangone (author)jackp772017-01-26

please tell me you have a detailed breakdown of all that you did!!?!
that is exactly what I'm wanting to do! Cal, weather, alarm sounds, touch interface. love it! I'm pretty new to the Pi scene, only just build my first project, a retropie in my old NES case.

jackp77 (author)GreenMangone2017-01-26

note I should have used some shielding on the wiring i get some feedback out of the speakers ever now and then

jackp77 (author)GreenMangone2017-01-26

Well all I did was followed the instructions on here for the most part. The wooden frame I based it on the the size of the screen size plus the power supply I had bought I got a AC 110V/220V to DC 12V/5V 3A LCD Dual Voltage Power Supply Module Board Universal Power Supply (would have linked it but the one i bought is no longer available)
parts list
sound amp board
(optional) keypad
proto breadboard( I choice this due to less jumper wires involved)
hdmi cable i got a 10"
power cable
90 degree hdmi connectors
salvaged audio jack
male barrel plug
wire (i used 20 gauge but i wished i used 28 gauge(28 is linked)
screw terminal mounts
salvaged 4 port usb hub
flux core solder
tools: saw, router (I used box joints on the frame), screwdriver, wire cutter/ stripper; soldering iron, hot melt glue gun (I glued some part in versus screwing it in one example was the back plastic for the screen for I could still remove the screen from the front for access)
for the operating system i ended up contacting the screen manufacture for iso that was preconfigured for the touchscreen also a note anything I ordered from aliexpress I did not expect the parts to show up quickly with aliexpress you get it at a good price but shipping is slow compared to amazon but I was not in a hurry when I built this. hope this helped

ryan smith2 (author)2017-04-02

The file location changed for autostart

sudo nano ~/.config/lxsession/LXDE-pi/autostart

add @iceweasel or i used @firefox-esr

J. MichaelL (author)2016-10-16

Anyone else having issues with the google calendar iframe displaying on the raspberry pi?

J. MichaelL (author)2016-10-16

Has anyone else had an issue where the Google Calendar iframe doesn't display on the Raspberry Pi? If I view it on my laptop I see it, and I see my weather iframe, just not the google calendar.

yenkhushi (author)2016-10-01

Made very good project

antrismont (author)2016-09-21

Thanks for the cool project.

I got it to all to work, except opening in full screen mode. I pressed F11 with the browser open to get it to full screen, then I closed it, then went to reopen it and the browser did not open in full screen... Can somebody please assist?


dannyk6 (author)2016-09-20

This is great! You may want to check out DAKboard ( It has calendar integrations and adds photos, news and weather as well! Works great with the Raspberry Pi!

TonyO51165 (author)2016-08-31

This is really cool, can't wait to build this. One question though, is there a way to add a music app to this? I would like to also use it for a media center and connect it via bluetooth to the home entertainment center. Thanks in advance.....

Hamster8471 made it! (author)2016-08-03

made it with a 15.4' screen and a control module

lacrh made it! (author)2016-07-04

I Made It!! Everything worked out perfectly, except having it load automatically. I still have to go in and open up ice weasel->firefox esr. Kind of a bummer, but oh well.

natedj (author)lacrh2016-08-02

sudo nano ~/.config/lxsession/LXDE-pi/autostart

add @iceweasel

hit Ctrl x

hit y

hit enter


PiGuy9614 (author)natedj2016-08-02

Thanks! I had the same problem!

white_ruin (author)2016-06-30

As a family we aren't that well organised, this helps alot !

MrLu (author)2016-06-20

i've been wanting something like this for a long time!!

WalterH28 made it! (author)2016-06-10

I put together detailed instructions to display both a Google Calendar and the weather on the same page using the Chromium web browser. I hope this information helps for those of you who might be interested.

CamR3 (author)2016-04-28

This is awesome! But does the Google calendar sync with your phone appointments and refresh automatically? Let's say I had my wife's calendar and my own calendar linked, would we be able to see each other's appointments as soon as they are created on whatever device they use?

nickw100 (author)CamR32016-06-05

Mine does

LauraQ7 (author)2016-06-03

would this work using noobs?

JoshW85 (author)2016-05-28

Im having a problem with Iceweasel and the calendar, it shows an outlined box but nothing in it. When I open the webpage up in a different browser it works, but I want it to work in iceweasel, PLEASE HELP!

carltonwb (author)2016-04-19

I have built this using chromium and pointing to a custom html page that includes a clock module, google calendar, and weather for the two places I live. Each section is about 400px height and 350px width.

My only problem is the Google calendar. After figuring out how to get it to display properly (making the calendar public) I am still having problems.

If I place my html file on a live website and call up the file url it displays perfectly ie if I have 4 meetings in one day it will display one and then say +3, allowing the calendar to display the entire month properly. But if I display it on the PI it shows all 4 meetings causing the calendar to only display 3 weeks before it is out of frame.

Anyone have ideas on how to correct this.


redcarpet (author)carltonwb2016-05-13

There is a facility in Google Calendar to display LESS days in a month-style view, so, for example, you can display say 20 days instead of the full month. You do this by clicking and holding on the day number on the mini-calendar on the left of the screen and striping across the mini-calendar to the end day number that you want to see. I hope I have explained it for you to understand it is difficult to explain. With the amount of days now reduced on the display you may be able to see more events during each day. Unfortunately I have to redo this every time I load google calendar on startup but this is a small negative for a big facility.

Thanx PJ

CamR3 (author)2016-05-03

this is awesome! I have everything right I believe, however, iceweasel still will not start on the startup automatically. I have the newest model B pi. Anything I'm missing?

rklemetsdal (author)2016-04-27

Love it! gonna have to try this!

bgfdeswderftg (author)2016-04-20

are you able to navigate the calender with the arrow keys and enter/return? if so would you be able to mount a numeric keypad like this:

next to the screen?

for those of you wanting to add events on the go, something like this may be better:

About This Instructable




More by Piney:Tor-Pi Exit Relay (without getting raided)Raspberry Pi Wall Mounted Google CalendarRaspberry Pi Multi-Room Audio (Mobile/Tablet/PC Controlled)
Add instructable to: