GoPro Logo

Peter Jennings

September 9, 2011

How to use the GoPro Camera as a WebCam

GoPro Hero HD The GoPro HD Hero is a great camera for mounting on a helmet.

But, it can also be a great webcam mounted outside, automatically uploading images by FTP to a blog, website, Facebook, flickr, Picasa, MobileMe, or any of 25 other social media sites.

The wide angle lens covers 170 degrees, perfect for outdoors or for capturing an entire room.

The 5 megapixel captured images are much higher resolution than other webcams that operate stand-alone on a WiFi network without using a computer.

The only problem is getting these great images out of the camera.

Eye-Fi Connect WiFi SD Card

Eye-Fi has combined a Class 6 SDHC memory card with a wireless 802.11n client embedded in the card to connect with your local network.

Like magic, images saved to the card by the camera are wirelessly transferred to your computer, iPhone, or your favorite online sharing site, such as Facebook, Picasa, YouTube and many more.

The Eye-Fi card is easy to install and works with most SDHC compatible cameras from your favorite brands, including Canon, Casio, HP, Nikon, Olympus, Panasonic, Sanyo, Sony and more.

It also works with the GoPro HD Hero, although there are some reservations. The Eye-Fi web site compatibility checker says it is NOT compatible. But this YouTube video showing it in action, convinced me to risk $40 and buy a card to try for myself.

Eye-Fi cards are available from Amazon and eBay.

Searching the Eye-Fi support forums revealed that there had been issues with users who formatted the card inside the GoPro camera destroying the Eye-Fi card. Do not format the card in the camera!. It is possible that this issue has been fixed by subsequent GoPro or Eye-Fi firmware updates. It is possible that there are other issues. It is possible that GoPro or Eye-Fi will release new firmware updates that make things better or worse.

I am using GoPro firmware 1.54.1 and the Eye-Fi 4GB X2 Connect with firmware version 4.5157 for this project. So far, I have had no problems and am very pleased with the performance in all respects. The usual disclaimers apply. The author accepts no responsibility for what may happen to your camera or your card if you follow instructions on this web site.

A new entrant in the WiFi enabled SD cards is the Transcend line of 16GB and 32GB cards. I have not tried them yet, but they offer an interesting alternative to the Eye-Fi cards.

Keep it Simple

Webcam Thumbnail The default mode for the Eye-Fi card is to transfer all new images from the camera to a folder on your computer. The Eye-Fi Helper tray application does the work at the computer end. The card needs to be configured to connect to your local network.

As each photo is transferred, a small thumbnail image appears in the lower right corner of your screen.

It is also easy to configure the Eye-Fi card to upload photos directly to more than 25 photo sharing and printing sites, such as Facebook, Flickr, CostCo, Walmart, etc.

FTP to Web

If you have a web site, or access to a site that can handle an ftp upload, the card can be configured to upload photos directly to the site.

FTP Configuration

The Eye-Fi card can resize the image before transferring it. Choose the appropriate resolution depending on your internet connection and how the images are to be used.

On our relatively slow DSL connection, the card and network were able to transfer one full size 2592x1544 photo every 30 seconds using the camera's sequential mode.

The Eye-Fi card uses more power than a simple SDHC card, but the battery life was still good. With 30 second, full resolution captures, the battery lasted more than 2 hours.

With external power applied via the USB connector, or using the bus connector, which allows use of the waterproof housing, the only limitation is the number of images that can fit on a card before it is emptied - about 2,000 images on the 4GB card and 4,000 on the 8GB Eye-Fi card. That is about 2 to 3 days of operation.

Endless Memory

The Eye-Fi card has an endless memory feature. As images are uploaded, they are deleted from the card. In theory that means that the card has an infinite capacity and needs no attention.

However, in what is arguably a feature or a bug, the Eye-Fi card does not delete the images in real time. It only deletes them when power is cycled to the card. Eye-Fi support considers this to be the normal use of a camera. It is turned on and off from time to time, and housekeeping chores can wait until the user cycles the power.

As a webcam, it would be more convenient to have the card delete the images more often. Fortunately, the GoPro TimeLapse Controller was designed to cycle the power under computer control.

Using the microcontroller to turn the camera on and off at a designated rate results in the card performing as expected. The timing needs to be adjusted to give the card enough time to connect to the network. This will vary from one installation to the next, so some experimentation may be required. Sufficient time will be required after each photo to connect to the ftp site and upload the latest picture. The next time the camera is turned on, the card will delete some of the old images, depending on the endless memory settings used.

Displaying Photos on a Web Page

The GoPro camera takes the pictures and I have set the Eye-Fi card to adjust the size to a convenient 1024x768 and upload them to a folder based on the date the photo was taken. The filenames are the usual GOPRxxxx.JPG naming convention.

In order to embed the latest image in a web page with a caption based on the time the photo was taken, it is necessary to write a small php script to find the last photo and extract the date and time from the jpg file.

latest.php will find the latest photo and return a snippet of html code that can be embedded in an iframe on a web page, or just displayed in a browser.

Download latest.php

The script is written for PHP version 5 and uses the Exif library to determine the date and time the photo was taken.

Time Lapse - Eye-Fi - Twitter Feed

One of our customers shared his setup:

I'm using a setup with 1) gopro 2) eye-fi 3) H3G mobile hotspot (not the USB one but the AC one for the sake of durability) 4) your time lapse controller (not the nice new one with all the shiny plastic :-)).

I setup the camera to turn on for 1:55 mins, shooting after 60 seconds, using the remaining time to upload pics and do it's due diligence (read endless mode).

I channel everything from the eye-fi through pixelpipe and that allows me to send each pic to 3 different streams 1) ftp server 2) twitpic for automatic picture updates every 20 mins via twitter 3) dropbox.

It is working like a charm!

If you're curious, here's the twitter account: @villacacajo.

Villa Cacajo

GoPro Programmable Scheduler