Introduction: Raspberry Pi Powered Time Lapse Dolly (RasPiLapse)

Here's my instructable for a home build timelapse dolly. The pro rigs for this are pretty pricey, so I made my own :)

Please vote if you like this project!

Step 1: Software

The heart of this machine is a Raspberry PI, a low cost small footprint computer. It runs linux so it's easy to write and deploy code on it. It also has a GPIO (General Purpose Input/Output) connector which we can control.

The code is pretty basic and written in python

I use the Raspian distro on my Raspberry Pi.

First, I installed Python, WiringPI and WiringPI-Python.

Next, I export the pins I will be using. I need two pins as outputs, so in a shell I type:

gpio export 18 out
gpio export 23 out

Now I can play around with pin 18 and 23.

Next, I write a python script to allow me to input exposure time, interval and number of shots. Here it is:

import wiringpi  #get wiringpi-python
from time import sleep 
io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS) 
triggerpin = 18 #set my pins
motorpin = 23
io.pinMode(triggerpin,io.OUTPUT) 
io.pinMode(motorpin,io.OUTPUT)
wiringpi.pinMode(triggerpin,1)
wiringpi.pinMode(motorpin,1)
exposure = input('exposure time: ') # pick exposure, interval and number of shots
interval = input('interval: ')
shots = input('number of shots: ')
motor = 72.8/shots
print 'begin'
while shots != 0:  # loop through actions until complete
    io.digitalWrite(triggerpin,io.HIGH)
    sleep(exposure) 
    io.digitalWrite(triggerpin,io.LOW)
    sleep(0.5)
    io.digitalWrite(motorpin,io.HIGH)
    sleep(motor)
    io.digitalWrite(motorpin,io.LOW)
    sleep(interval)
    shots = shots-1
    print shots

You may notice the motor time is 72.8 / number of shots - this means I can select a number of shots and the Pi works out the motor times needed to run the length of the track.

I save this to a file named 'timelapse.py'.

To make this easier to run in the field, I create a bash script to export the pins then run the python script:

#! /bin/bash
gpio export 18 out
gpio export 23 out
python timelapse.py

And save this as t.sh. I made it executable, so I simply need to type ./t.sh in a shell to get things up and running.

Step 2: Communicate With the Pi

I have an Android phone, so i can use the app 'Connectbot' to connect to the Raspberry Pi via wifi and send commands.

I set up an ad-hoc wifi network to connect the phone.

This was straight forward enough - I edited /etc/network/interfaces and added the following:

    iface wlan0 inet static
        address 192.168.2.1
        netmask 255.255.255.0
        wireless-mode ad-hoc
        wireless-channel 5
        wireless-essid pi
    auto wlan0



I also installed Screen on the Pi - this allows a session to run after SSH is disconnected so I can walk away from the rig whilst it still runs the last command I gave it.

Step 3: Electronics

There are two circuits in this project, the camera trigger and motor control.

Camera trigger

I use a Sony DSLR which has a port to connect a remote trigger. This has three pins - ground, autofocus and trigger.

The first step was to work out which pin was which. Using an old computer connector from a cd drive plugged into the port I was able to determine the first two pins were ground and autofocus. My camera needs the autofocus connection on before it will allow the trigger input to fire the shutter (regardless of whether I’m using autofocus or not).

So, I wire pin 1 and 2 together, allowing the camera to trigger by connecting the third pin to the joined 1 and 2. Result!

To trigger this from the Raspberry Pi I use the GPIO pins to control an NPN transistor, acting as a switch.

I used some transistors I had lying around, but 2n2222a NPN transistors should be a good choice for this.

470r resistors should be fine for these circuits too.

The top image is the camera circuit.

The resistor is in place to limit the current between the Pi and the transistor.

Motor control

Again, a switch is needed here, so the above circuit is repeated for the motor. However I’ve added a diode to protect the Pi from current generated by the motor when the power is cut but the motor still turns a little.


Step 4: Hardware

Motor

I worked out I’d need about 20 N*cm torque to drag my camera about - the motor came from Ebay, and runs on 4 AA batteries.

Rails

I wanted this to be light and strong. I sourced 1 metre long aluminium U-tubes from my local DIY store. The edge pieces are aluminium trim.

Platform

An aluminium sheet did the job here, allowing me to mount the motor securely. More of the aluminium U tubes made up the connection to the rails. I didn’t use any wheels as I wanted the platform to stop quickly after each movement.

Camera mount

A cheap one from my local camera shop did the job, it’s a basic ball mount for a tripod. I'll probably upgrade this at some point.

Timing belt/pulley

Another ebay purchase, the timing belt was originally for a large printer of some kind, but perfect for my needs. This is held in place with more sections of the U tube acting as a locking mechanism.

Step 5: Construction

Using a Dremel I drill holes in the U tubes top and bottom so I can bolt the whole rig together. The platform sits on shorter sections of the same U tube but inverted to lock them onto the rails.

The circuits are soldered onto solderboard and attached to the Pi, motor and camera.

The timing belt is tensioned by more bits of the U tube acting as a clamp at either end.

The pulley has a tensioner added to keep things tight.

Step 6: The Results!

Step 7: What's Next?

There's lots more to add to this project. I'm working on a timelapse ramping system. This will allow timelapses from day to night whilst keeping the correct exposures for each image.

Using the ConnectBot app to communicate with the Pi is great, but I'll be creating a smartphone app to control this at some point too.

You can keep up with my progress on Facebook.

Comments

author
Joosep made it!(author)2016-05-09

In case anyone needs the software to run a similar build, i have made a webapp that can run off your smartphone https://github.com/equilerex/PiLapseRails

main-imae.jpgDSC_5292.jpg
author
ollie.har made it!(author)2015-10-07

Incredible.

I'm truly inspired.

author
deth2all made it!(author)2015-09-17

I'm SOOOO doing this!

author
Jun+YiT made it!(author)2015-05-04

Hi!

This project looks really cool and you've got some really nice sceneries!

intending to buy a raspberry PI and try building something for the first time. Would like it to work with Canon and Samsung cameras. anything I need to know?

author
PradeepC2 made it!(author)2014-12-11

Is it possible to connect 3G and send/receive the data/image to the mobile android/Play Store App?

author
%C3%BCdestan made it!(author)2014-12-26

You can add wireless module to raspi and gphoto2 to transfer them into raspi.If you create a samba folder on raspberry you can download to mobile phone

author
PradeepC2 made it!(author)2014-12-11

Is it possible to connect 3G and send/receive the data/image to the mobile android/Play Store App?

author
Raphango made it!(author)2014-10-15

Amazing videos you got there!

Congratulations for your ible!!

author
badkarma7 made it!(author)2014-04-21

great project!

i appreciate especially the bash script, it's actually much more easy to run..

thanks a lot for sharing.

i built a fully portable monorail, suitable for long trips, find some pics here http://www.juzaphoto.com/topic2.php?l=en&t=814883

cheers,

p

author
wharlan made it!(author)2013-12-05

Gahhh, this is so awesome. I started to mess-around with the Arduino and Raspberry-Pi lately and this was the exact thing I wanted to build. As soon as I have completed building this I'll be sure to share it...

author
bpetty3 made it!(author)2013-08-01

Rick this is great! And you have some beautiful scenery where you are. I'm going to be using an Arduino to make my controller, wish me luck!

author
sparkyish made it!(author)2013-07-16

Nice project :-) It seems you are using a Sony for this example, but Magic Lantern provides a free aftermarket firmware for Canon that includes bulb-ramping

author
Kjetil+Egeland made it!(author)2013-05-19

Hello....! I really like your concept, and would like to build something similar...I bought the Raspberry Pi a while ago, and will try to make something with the thing. Not that into Linux, so there is some work to do there...I might find some info in here, that can explain for me in detail. Keep up the good work, and thank you for sharing..!

author
jtharkness made it!(author)2013-01-15

Impressive

author
quixotiCfluX made it!(author)2013-01-14

Very nice instructable, I can't wait to get into using the GPIO pins on my pi for cool stuff like this. And congrats on making it to the newsletter.

author
rickadam made it!(author)2013-01-15

Cheers! Getting the GPIO running is satisfying, nothing like breaking out of software into the real world :)

author
Machine made it!(author)2013-01-14

Very nice instructable and you do seem to have a lot of skill with Linux, Android and Python.

author
rickadam made it!(author)2013-01-14

Cheers!

author
fred_dot_u made it!(author)2013-01-13

A simple elegant project, nicely executed. Those with Canon cameras that use CHDK will be able to use a 5v source to trigger the shutter, requiring only a tiny modification to your original configuration.

One could also easily modify this to rotate the camera and perform automated panorama photos.

author
rickadam made it!(author)2013-01-14

I really like the idea of adding panning to this rig, and will probably add that at some point :)

author
emils_s made it!(author)2013-01-10

One more Is it possible to program computer to control 2 or maybe 3 motors wits 12v?

author
rickadam made it!(author)2013-01-10

yeah it sure is - although at that voltage I'd be thinking about using a relay to switch the motor on and off...

author
wooac made it!(author)2013-01-09

Nice. Better if it sat on one tripod. Fort Point might have more interesting vantage points.

author
rickadam made it!(author)2013-01-10

Cheers, it probably could be adapted to sit on one tripod quite easily - I find I can position it with two fairly well, and it keeps it nice and stable :)

author
emils_s made it!(author)2013-01-09

Hello,

Great job! Could you please give more info about software and hardware. Where can I get that control unit? Maybe there is some special instructions found on internet for programming timelapse controller? if possible please post here or email me emils@emils.lv

author
rickadam made it!(author)2013-01-10

Hi! The controller is a Raspberry Pi - it's a tiny computer that runs linux. I wrote the software myself in Python. I have a website for the project here: https://sites.google.com/site/raspilapse/

Cheers,

Rick

author
zorwick made it!(author)2013-01-08

Super great job! Congrat!

author
rickadam made it!(author)2013-01-10

cheers!