GoPro Long Duration Time Lapse Setup



About: Paul Illsley




GoPro Long Duration Time Lapse Setup

and Automatic Image Upload To The Cloud




I wanted to come up with a simple system that would allow me to mount my GoPro camera at a location for a long period of time (weeks, months or a year) and have it record images at 60 minute intervals between 5:00 am and 10:00 pm every day for the duration of that period. I knew a simple GoPro with its internal battery wouldn’t be capable of doing long duration image capture so I did a bit of research to figure out how I could cobble together a simple DIY setup that could.

I wanted to see if I could do it without going through the hassle of creating a large weatherproof housing for the camera, and just rely on the waterproof capabilities of the GoPro camera itself (rated to 10m underwater without a housing). This is not the normal method of deploying a time lapse camera but I wanted to see if it would work (and it worked well).

The image above shows the solar panel, GoPro camera and waterproof box containing the battery mounted on a stationary wooden post.


Parts I used (Canadian Dollars):

    USB-C Solar Panel Charger: Solar Panel Compatible with Blink Outdoor 4 Camera ($35.00)
    Camera: GoPro Hero10 Black ($300.00)
    Power Cable: GoPro CONTACTO Power Kit ($110.00)
    Waterproof Case: NANUK 903 ($45.00)
    Battery Pack: Voltaic V50 ($120.00)
    Mounting Hardware: ($30.00)



Voltaic V50 Battery Pack Inside Waterproof Case


I needed a battery pack with enough power to run the GoPro camera (5 volts at 2 amps) and one that wouldn't shut off when the camera wasn’t drawing power. Most USB power banks will shut off when power isn’t required for a period of time, and then won’t wake up when power is required. The battery also needed to have "Pass Through Charging Capabilities" which allows it to be charged, and also deliver power at the same time (most don't have this capability). I did some research and found the Voltaic V50 battery pack (13,400mAh) would do the trick. They do make smaller (V25) and larger (V75) battery packs but this one seemed to be a good size for my test.

I attached the battery to the bottom of a NANUK 903 waterproof case with a piece of adhesive Velcro to keep it from moving around during transport and deployment. I drilled a hole in the side of the waterproof case large enough to pass through the USB cables from the solar panel and the camera, and then sealed the hole with flexible silicone sealant making sure the hole was smooth and free of sharp edges so that the wires don't get damaged.

I added a large amount of electrical tape to a section of the cables inside the case to act as a stopper in the event they were tugged on. I also made sure the USB connectors to the battery were not under any lateral pressure which could also damage them over time.



Mount for Battery Case


I decided to make a simple mounting system that consisted of a large screw hook to hold the handle of the case and a pair of screw in eye bolts (one above and one below the case) which were used to attach bungee cords to keep the case in place. I screwed the hook into the post far enough so that the case would hang from its handle loosely against the post, and then used the two heavy bungee cords to secure the case to the post using the two eye bolts.



GoPro CONTACTO Waterproof Magnetic Connector


I needed a way to get power into the camera and I figured I had two choices; the first a pass-through power door that would let me connect to the USB-C connector in the camera and the second a dedicated waterproof solution from GoPro (CONTACTO) that relies on magnets to connect to a custom battery compartment door.

Both options had pros and cons. The pass-through door would work fine but I was concerned it wouldn’t be waterproof enough during intense rain storms, and the CONTACTO system would retain the camera’s waterproof rating but there was a chance it could get removed (by wind or animals) or the contacts might become corroded over time. Eventually I decided to go with the CONTACTO to see how well it would work.

If I was in a remote location and couldn’t inspect the camera frequently, I would either make a bracket to help keep the CONTACTO connector attached to the camera or use the pass-through door option and add a bit of silicone to the connector to help increase its weather proofing capabilities.

I took out GoPro’s removable battery so that it wouldn’t overheat.



Camera Mount


I decided to go with a really simple method for mounting the GoPro camera. I purchased a cheap ball head and attached it to a 3-inch corner bracket that was screwed into the post. I had a base on my GoPro camera that would accept a 1/4 - 20 thread tripod screw, but you may need to attach the camera using a GoPro quick release plate.

Having the camera mounted separate from the battery case allows me to inspect the battery and connect to the camera (using the USB-C connector) without moving the camera.



Solar Panel


Now I needed a way to charge the battery. I had a small USB-C Solar Panel that indicated it would produce 5 volts at 5 watts so I decided to use it with the understanding that the optimistic 5-watt rating would never be seen in real world conditions, but I figured I’d try it anyway (and it worked).

If you were planning on recording more images each day, or you are deploying your setup in cold or cloudy locations I would go with a higher quality solar panel capable of producing more watts of power and a larger capacity battery pack to help get you through long cold overcast periods.




GoPro Labs Software


Now that I have the hardware in place I needed to determine the best way to trigger the camera to record images.

All GoPro cameras have time lapse settings but most don’t turn the camera off between images which in this case will deplete the battery before all of the images are recorded. I needed a different way to set up the recording schedule.

Fortunately, GoPro has developed a simple method of programming the cameras to preform advanced functions that aren’t normally available on standard camera setups. It’s called GoPro Labs and it’s really easy to use.

All you need to do is install a small software update (created by GoPro) into your camera that opens a number of features you can trigger by showing the camera a simple QR code. These QR codes can be created with GoPro’s online QR code creator or you can use one that has already been created by someone else. This is how you install GoPro Labs.

First: Make sure you have the latest firmware installed in your camera. https://gopro.com/en/us/update

Second: Go to GoPro’s official GoPro Labs website and download the GoPro Labs software for your model of GoPro on to a Micro SD card. https://gopro.github.io/labs/

Third: Turn off your GoPro camera and make sure you have a well charged battery in the camera.

Fourth: Insert the Micro SD card (containing the GoPro Labs software) into your camera and turn on the camera. The software will automatically install as soon as the camera is turned on. This may take a couple minutes, and the camera will turn on and off a couple times but you will soon see a confirmation notice on the screen when the installation is completed.

That’s it, you have just installed GoPro Labs on your GoPro camera.




Using GoPro Labs Software


Once you have installed GoPro Labs on your GoPro camera, you are now able to easily program your camera using simple QR codes. The QR code located directly below will turn the GoPro camera on at 5:00 am, record an image every 60 minutes (turning the camera off between each image), and stop recording images at 10:00 pm. The camera will repeat this cycle every day.

If you want to use this recording schedule you simply need to point the camera at this QR code and the camera will start the sequence (for the remaining hours of the current day the camera will record images every 60 minutes from the time the code started, but it will start recording at 5:00 am the next morning).

Set the local time in your GoPro: https://gopro.github.io/labs/control/precisiontime/



Time Lapse QR Code


This QR Code records a photo every 60 minutes from 5:00 am to 10:00 pm every day.

Don't forget to set the Camera's Clock and desired photo settings like, Exposure, ISO, White Balance, RAW/JPG format,... before starting the time lapse.

>05:00<22:05mP+!S+!2N+!3600RQ!05:00R

Explanation:

>05:00<22:05 - This sets a conditional time window. The commands that follow will only run if the current time is after 5:00 am and before 10:05 pm (22:05). I set the conditional time window to finish 5 minutes after the last recorded image to make sure the camera didn’t shut down before the last image was taken.

mP - Switches the camera to Photo Mode.

+!S - Starts capture, in this case, takes a photo. The + means it is bundled with the time condition—this only happens during the valid time window.

+!2N - A 2-second pause after taking the photo, bundled with the same time condition.

+!3600RQ - Instructs the camera to sleep for 3600 seconds (60 minutes), then repeat the script (power-efficient wake). Your exact delay time can be determined by recording a dozen images and calculating the average delay. Again, bundled with the same time condition using +.

!05:00R - Daily repeat at exactly 5:00 am, ensuring the script runs every day starting at 5:00 am.




Creating your own QR Code


If you want to create your own time lapse schedule you can simply copy the code I explained in the previous section and paste it into a text editing program like Notepad. Change the times you want to record images and then copy the new code into memory. Go to GoPro’s QR code creator https://gopro.github.io/labs/control/custom/ and paste the new code in the “Additional Comments” box near the bottom of that page (this will change the QR code). Turn your camera on and point it at the new QR code, your camera will start the new sequence.



Section for Custom QR Code Creator Page


When you scroll down the Custom QR Code Creator page you will see the many options available when generating QR Codes. This program is really quite powerful.


Additional QR Codes



Trust USB Power QR Code


Some GoPro cameras won’t accept USB battery packs because the camera doesn’t think the battery has enough power (when it actually does). To get around this issue, this code will tell GoPro to trust the USB power source (the code is "tusb").



Reset QR Code


If you want to remove stored QR commands (not the GoPro Labs software) from your GoPro you can use this reset QR code (!RESET!10).




Automatic Image Upload To The Cloud


If you want to have the camera automatically upload your time lapse images to the cloud, this is how you do it.

You need to subscribe to GoPro’s Cloud storage program ($50.00 / year) https://gopro.com/en/us/shop/subscriptions and also download the GoPro Quick app on your phone https://gopro.com/en/ca/shop/quik-app-video-photo-editor .

You need a stable Wi-Fi network available to the camera. If you are in a remote area you could set up a mobile Wi-Fi hotspot with a dedicated cell phone.

Make sure you turn on your camera’s Wi-Fi.

Insert a clean SD card (or format the one in the camera).

Connect your camera to the GoPro Quick app on your phone and click on Cloud Auto Upload (supply the Wi-Fi information for the network you want to use).

After you receive confirmation the camera was connected to the Wi-Fi network, you can close the Quick app (you don’t need to use the Quick app again). You are now ready to automatically upload your time lapse images to the cloud.

When you make your new time lapse QR code you will need to add “+!U” to tell the camera to upload the image before it turns itself off. Here’s an example of the updated QR code for uploading your images. You will need to adjust the delay value to match your camera’s Wi-Fi upload delay time. This can be determined by recording a dozen images and calculating the average delay.

>05:00<22:05mP+!S+!U!2N+!3600RQ!05:00R


New Upload QR Code


Viewing your uploaded images

When you have logged into your GoPro account and open the GoPro Media Library page https://gopro.com/media-library/ you will see your uploaded images. You can download them to your computer, share them with someone else or delete then if you like. When you delete an image it is deleted from the cloud but it remains on the camera.

You might notice the .jpg and .gpr image record dates and times get changed to the download date and time when they are downloaded. If you want the original date of capture you need to look at the “Date/Time Original” entry in the image’s EXIF metadata (you might need a tool like EXIFTools https://exiftool.org/ to read and correct this information).

This is the exiftool Fix_GoPro_Dates.bat file I used to correct the dates in the images.



ExifTool Fix_GoPro_Dates.bat file I used

Download: Fix_GoPro_Dates.txt

Here’s a .txt file containing the Fix_GoPro_Dates.bat information. You can download the file and change the .txt extension to .bat (some computers won’t let you download a .bat file).


Download the ExifTool software and UnZip it in the same folder as the .GPR images

If the exiftool.exe file says anything but exiftool.exe, rename it (it might have some extra letters in the file name), but don’t remove the .exe extension.

Place the Fix_GoPro_Dates.bat file in the same folder as the original .GPR images and exiftool.exe file.

Double click on the Fix_GoPro_Dates.bat file and you should see a new set of images appear in the same folder with “date_corrected” attached to the file name. The original images won’t be altered.



Return to Paul Illsley's home page