Timelapse Camera Birdhouse With Google Drive, Lodge-style




Introduction: Timelapse Camera Birdhouse With Google Drive, Lodge-style

In this instructable, we'll make a timelapse camera using a Raspberry Pi and stick it in a snazzy lodge-style birdhouse. You choose the time-interval for each timelapse photo, and the photos are automatically uploaded to Google Drive for access anywhere. You'll do a bit of woodworking, a dash of programming (python), some Linux-fu (cron), and learn Google Drive's API. Let's get started.

Step 1: Planning - Materials & Cost

Here's what you'll need:

  • Raspberry Pi (any version)
  • Compatible camera (we used this)
  • USB wifi-dongle (we used this)
  • Wood (~12" x 48" in total)
  • Wood stain & seal
  • Power-drill & drill bits
  • Chop-saw, skill-saw, or table-saw
  • A regular ol' door-hinge

If you already have the tools laying around, you're looking at about $50-70 in cost. If cost is a factor, you could get that down a bit further by going with an Arduino instead of a Raspberry Pi.

Going solar-powered or battery-powered seemed like fun early on, but it's a bit impractical when you consider the power utilization over time (months, years). Plugging it in to the wall makes the most sense if you have an outdoor outlet.

Step 2: Cut Cut Cut, Clamp Clamp Clamp

The design is pretty simple. I opted for 12" x 9.5" roof-panels, meeting at a 45 degree inside angle at the top. You'll have to do some maths to flush the sides of the bottom piece, but I believe in you.

Make sure you drill the opening and the camera hole on the front piece before you start gluing. I used a 1/4" bit for the camera hole and wiggled it a bit to make it large enough to accommodate the lens. Be gentle, yet firm.

It helps to cut a jig and use it to clamp the front and back to the bottom (pictured). The joints might need a little sanding to get everything flush.

Step 3: A Few Minor Details

Depending on the hinge you use, you'll likely need to make some last-minute adjustments to get everything lined up. We had to file some of the back panel to make room for the inside screws.

Staining is pretty straight-forward. If you opt for eyelets along the top as we did, you can hang it over some newspapers. Some light sanding and a single coat seemed to do the trick.

You'll also need to file a notch for the power cable on the back panel (pictured) if you are plugging this in to the wall.

For some really lame interior weatherproofing, I stuck the whole thing in a ziplock. An interior shelf is on the TODO list, which would have the added benefit of giving birds their own bedroom separate from the Pi.

Step 4: Pi-camera & Google Drive

Now the fun part. Since the Pi has a wifi dongle, I recommend giving it a static IP and using SSH to manage it through the rest of these steps.

  1. I've added the code for the camera and drive integration to github here: https://github.com/dunds/timelapse . The script has one dependency: a client_secrets.json file from your Google Drive API.
  2. While logged in to your Google account, navigate to: https://console.developers.google.com/apis . From here, you can enable Google Drive and manage API credentials.
  3. Click the "credentials" tab and select "Create credentials->OAuth Client ID". Use "other" as the type. Your newly created credential will have a download link to the far right (pictured). Name it client_secrets.json and stick it in your timelapse directory.
  4. Run "python timelapse.py" from the timelapse directory. The first time you run this, you'll be guided through a process where Google validates your application with a security token. Look at you, authenticating securely to Google Drive. What a boss.
  5. Last step is to add an entry to cron to schedule this script to run daily. Here's what my crontab looks like:
pi@raspberrypi:~/timelapse $ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
# m h dom mon dow user	command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
15 14 * * * pi cd /home/pi/timelapse/ && python timelapse.py

Step 5: Wrapping Up

All done! The Pi will snap a photo once daily which will be automatically uploaded to your Google Drive account. Hang it with a view of something nice and start thinking about your next project.

Be the First to Share


    • One Board Contest

      One Board Contest
    • Jewelry Challenge

      Jewelry Challenge
    • New Year, New Skill Student Design Challenge

      New Year, New Skill Student Design Challenge


    DIY Hacks and How Tos

    Cool. Do you have any pictures of birds using the house?


    Reply 5 years ago

    Thanks! None yet. I was thinking about adding a motion sensor to start recording video when a bird approaches... that might be fun.


    Reply 4 years ago

    If you do your video capture using PikrellCam then motion capture is done on video motion. Option 2 could be to use a PIR, option 3 would be to setup some sort of entrance hole trigger... various ways to to it. I've had a play with various combinations so of these: http://nestboxtech.blogspot.co.uk/2017/04/2017-double-camera-bird-box-intro.html


    5 years ago

    How are you able to get both adiqite light and focus in such a small area?


    Reply 5 years ago

    The more flush the camera is to the surface of the front board, the better. That's why the inside of the front board has about 1/2" drilled out from the inside to bring the camera forward more. You could also probably use a larger drill-bit on the front to make a cone-shaped opening instead of just a pinhole.