Introduction: Motion Activated Digital Calendar

About: Love making stuff. http://www.tvfoodmaps.com https://twitter.com/fsa317

I was tired of having an old paper calendar that my wife and I would update by hand and wouldn't have available to us when we weren't home. I also had an old Nexus 7 tablet laying around and a 3D printer, so I decided to try and make a digital version of the calendar.

This project had basically 3 parts:

1) Setup a shared Google Calendar, set it up on my wife's phone, my phone and the tablet.

2) Print a mounting bracket for the tablet.

3) Configure motion activation to save battery. (optional)

Now with it done, we no longer have a paper calendar and have access to our calendar in our kitchen and on our phones all synced up.

Step 1: Setup Your Google Calendar

Setting up your Google calendar is the first step. There are tons of instruction on the web for this including this link: http://www.techrepublic.com/blog/google-in-the-ent...

I'll summarize the steps I took.

  1. Go to calendar.google.com , next to My Calendars click the icon and Select Create Calendar.
  2. Give it a name and setup the sharing down at the bottom (see screenshot).
  3. Install Google Calendar on your Android or iPhone and the tablet.
  4. Go to settings in the calendar app and make sure the shared calendar is listed and set to sync.

That's basically it. You should now be able to create events on any of the devices and see them on the other devices after a few minutes.

A few tips:

  • To bulk create I recommend using a desktop, it will all sync up.
  • If your tablet is only being used for the calendar, do a reset to remove other apps (which will improve battery life).
  • When creating events make sure the shared calendar (not your personal one) is selected.

Step 2: Build a Bracket

I wanted to mount my tablet where my old calendar was on a cork board in my kitchen. I couldn't find a good mount on Thingiverse so I designed my own. Its very simple and fits snug on my Nexus 7. I used a simple pin to mount it to the cork board and it holds up really well.

If you have different sized tablets or don't have a 3-D Printer there are lots of other types of mounts that may work. Also, you could just use a stand.

The STL file I used can be found here:

http://www.thingiverse.com/thing:1171313

Step 3: Setup Motion Activation

This was probably the toughest part of the project and is really optional. However, to keep battery usage down and not require hitting the power button each time you want to see the calendar I decided to try and make this work. My approach is based on me already having an alarm motion detector connected to a home automation solution from Mi Casa Verde. You could also do this pretty simply with a raspberry pi and a PIR detector or even the tablets camera (not sure about battery use).

My approach had 3 basic steps:

  1. Configure my VeraLite to respond to the motion detection by sending an HTTP post to AutoRemote
  2. Install AutoRemoteLite on the tablet
  3. Configure Tasker to wake the tablet

Configuring VeraLite

Again this step may vary for a lot of people but the general idea here is to send an HTTP request when the motion is detected.

With the Vera I did this by setting up an automation triggered by the motion detector being tripped that ran the following LUUP code:

local period = - 60*5 -- Seconds
local lastTrip = 0
if previousMotion ~= nil then lastTrip = previousMotion end
lastTrip = tonumber (lastTrip)
if ((os.time() - lastTrip) >= period) then local status, result = luup.inet.wget("https://autoremotejoaomgcd.appspot.com/sendmessage?key=KEYGOESHERE&message=to", 1) end
previousMotion = os.time()
return true

The URL in the luup.inet.wget function you will get from AutoRemoteLite

Setting up AutoRemoteLite

This very cool app needs to be installed on the tablet. When installed it will give you a URL to go to where you can send messages to the tablet. Send a message with the text "to", you should see the tablet receive the message in a simple little popup. Now copy the URL it generated and paste into whatever code is generated teh request in step #1.

Tasker

Tasker is an amazing app for automating things on your tablet. For this purpose first you need to create an action called "Wake" that wakes up your tablet. To do so you need the SecureSettings plugin. See the screenshot for some more details on setting this up.

Finally, to connect the dots, you create a profile so that when any message is received from AutoRemoteLite (under plugins) the wake action is fired. For turning off the tablet use the regular timeout feature, mine is set to 5 minutes.

Step 4: Use Your Calendar

Your all set. You can add or view entries on either phone, tablet or desktop and they all will sync. The motion detector will turn on the tablet when you walk nearby and the tablet will turn off when no motion in 5 minutes or so. I'm getting about 2 days of steady use before needing to charge. Your mileage may vary.

I'd love to hear about other improvements people have to the digital calendar concept, thanks.