GoPro devices (at least Hero 3) is capable of producing awesome timelapse photos that you can later turn into videos. If you have a power source and a large SD card, then your only constraint is the interval that the photos are taken at. The longest interval available is 60 seconds. But what if you want the interval to be larger? What if you want to take only a few pictures a day?

For example... what if you know you won't be using your gopro for the upcoming month and you just planted a new garden, and you want to capture the rapid growth of your strawberries on video?! Well that's what I want to do!

Instead of taking the picture manually, there is a way to accomplish this programmatically. When you connect your computer to GoPro's WiFi server, you can have full control over all it's features by performing HTTP GET requests; it's as simple as forming and executing web links! Here is an example that turns the gopro on (replace X's with GoPro's WiFi password)

Here is a complete list of Hero 3 commands.

Fun fact: you can browse all pictures and videos on your GoPro over WiFi! Just browse to in your browser. is a python script that uses the above URL's to control GoPro. This fixes the 60 second frequency limis and extends it to whatever you want.

To make this happen, you need the following:

Hardware Setup: GoPro Hero 3, battery pack or power cable for GoPro, and a WiFi enabled device running Python 2

Software Setup: Python 2, python-crontab,

Configuration: Open and modify the heading varaibles, specifying between what hours that you want the picture to be taken and every how many mintues. Then fill out the varaible for GoPro's WiFi password and you're good to go!

Execution: Run python in priviledged mode and watch the magic run! First, the script will configure the GoPro (turn off power saving timeouts, etc) and then create cron jobs for the specific times.

Sample output:

[20:22:47] ~ > sudo python 
seting up gopro

* 3-9/60 * * * python /Users/adriansitterle/ takepic # from script

Common problems:

I get an error Error connecting to camera. Did you replace the url_pass variable in with your GoPro's WiFi password?

I get an error crontab: must be privileged to use -u. Are you executing the in priviledged mode? If not use sudo python to run the script. You need root proviledge to create cron jobs on your system. script location:

Some silly tests:

24 hours/every 30 minutes

Check out for a link to this article and other similar hacks!

Also check out this article on