PiLapseRails
A Raspberry Pi powered timelapse rig controlled through a web app on your phone.
When looking into time lapse rails, i ran across David Hunt’s post on building a DIY version using raspberry PI.
The article was quite nice with a lot of information on the hardware… i however did not want to buy an extra touch screen as was used in that build.... and running it through command line sounded pretty insane, so i went on to a quest to do something about it :) A couple of evenings later, there was a solution… i put together a little web app that runs on a nodeJS server on the PI which can then be accessed through the browser on your mobile device if it is sharing its wifi with the raspberry. Since i also had hell of a time trying to piece the whole picture together when building the hardware, i also figured i should create a dumb down guide which someone with very little knowledge on the subject should be able to follow
The Shopping List
Active components | the important stuff
- £30 / £18 | Raspberry PI (model 2 / model 1 maye even zero?) i’ve used PI2
- £5 | raspberry wifi dongle -> make your research first to see if it has proper drivers / support by raspian preferrably with AP mode (hotspot) support… havent tried it myself yet but it would make the connection from the phone much easier
- £1 | 8 X AA 12v battery stack
- £1.5 | remote shutter release cable dependent on your camera -a useful list of different types and their pinouts-
- £3.5 | 6mm rubber timing belt (3d printer replacement) Pulley for the belt/motor (buy it along with the timing belt as a set)
- £1 | Strip board (for building the shutter circuit… optional.. can always improvise)
- £1 | 1x 1k Resistor (optionally 2)
- £1 | 1x 10k Resistor (optionally 2) try buying local, often cheaper
- £5 | 1x transistor (optionally 2) with gate threshold of less than 3V (raspberry can supply max 3.3v so it has to be lower than that!) i used model: NTD3055L104G but these components can go out of stock so ask for one with 2.5v threshold at your local electronics store or try to figure it out (this is the hardest component to figure out on your own) you can also try mining for model numbers in the comments here , here and here
- £6 | 12v DC motor | of 20-50 RPM … got 15rpm myself but thats a bit too slow, id say at least 30 should be good... it cant have too many rpms either since the "gearbox" for low rmp will keep the camera in place... high rpm models fx 200 would not have enough tension to keep the camera in place when not powered on
- £2 | Motor controller – ive used L298N as a static switch(on/off)..
- £2 | 12v on/off switch go wild, get something prettehh ;)
Shutter Circuit
In my layout, there is one extra circuit for “focus” since david referenced Per Magnusson who claimed that Nikon’s remote trigger is trickier than canon and you need to trigger focus,wait for 300ms and then trigger shutter…maaaybe it depends on your model but in my case (Nikon D7000), it was enough to just connect both focus and shutter of the remote cable to the shutter circuit and as long as the camera was set on manual focusing mode (on the lens or body), it had no problems shooting…
Since i did have the circuit built already, i still left it in and added the logic to the software so you can even select how long you want to focus (maybe if you wanted to use auto settings in case lighting condition were changing a lot?) although the actual lens focus should really be off on time lapses since it is really visible if it shifts around… (been there, done that, had some ruined footage) If you are planning to be shooting on manual (which you should) then just screw the focus part and ignore it on canon, while on nikon, just connect both focus and shutter to the shutter circuit. As for the rest of the cameras brands… who knows?
The trickiest thing for me in the whole electronics build was figuring out how to connect the mosfet transistor since on normal electrical diagrams (meant for people who actually understand the stuff) the transistor symbol looked very similar to the actual component along with its 3 legs but they really did not reflect the reality… theres a a specific way to read it instead, which i could not get my head around for a while :PAll you need to do is look at the technical document for your specific component to see which of the 3 legs are source, gate and drain. Drain is basically positive, source is negative and “gate” is what enables/disables the connection when power is applied to it
the whole circuit should look like this (the mosfet image is specific to the one i used… they should be more or less similar but check your technical doc first.. often on ebay or google the model number):
Connect It All Together
just follow the diagrams (th photo is just to indicate the size of components... wiring is not identical to the schematics
Rails and Slider | the Tricky Improvising Part
This really depends on what tools and materials you have in hand… in general, you should have at least a drill, few drill bits and the basic stuf like pliers/monkey wrench, etc
In my mind, the cleanest and most stable way of doing the rail is to got to the local hardware store and get:
- 2x 20mm*1m aluminium tubes
- 1x 25mm*25mm*0.5m
- aluminium square tube
- 20mm drill bit or step cone drill bit
- 6mm (6m) bolts/nuts/drill
Now cut 2 pieces of the square tube, mine were 12 cm but up to you, mark the center line and make holes at exact same distance on each piece.. then you can slide the pipes through them and to make it more solid, drill vertical holes for each tube and add polts/nuts to fasten it all up
As for the slider itself, you can invent what ever the hell you want (which i did) but in retrospective, i think the easiest and most professional looking solution would have been to just order linear ball bearings (didnt know about them until my friend saw what i had done and then pulled one out of his tool box and said “this could work as well”) for that, you just need extra: 2-4? Linear ball bearings & aluminium/steel sheet
to attach the camera, you need a Tripod Ball-head
Pulley / Motor
The pulley part itself is fairly simple.. i drilled the engine through the slider plate, attached it with a screw, then i had 2 ball bearings placed a bit lower to create create tension and guide the belt so it would have enough friction to pull heavy loads
Attaching Pulley Belt to the Rails
In case the system you build is in one piece, just attach the belt permanently. i do that on one side by “stitching” the belt with a solid copper wire but since my system comes apart in order to pack it into a smaller form (the rails can be screwed in half!) then the other side i just fasten with a paper clamp around a spare pulley which creates some extra tension… still trying to come up with a better solution but it works for now.
The Electronics Casing
For housing all the electronics, i used a tin box that my wristwatch came with… fairly easy to work with and with all the plugs and switches located on the bottom, it is fairly weather proof… just need to make sure that all the circuit boards are isolated since the metal body is able to conduct current!
The battery thhat powers that raspberry is a standard powerbank for a phone which i strapped on with velcro
Figure Out a Way to Mount It
once again, many wys of doind this... in my case, i drilled an aluminium quick release plate using 4 bolts the the center of the rails (had a plate welded in there) im using a slightly broken tripod with one leg screwed to let it stand on an angle... which is good... lets me strap one end to the leg with velcro... thres a lot of tension and weight on the rails o it would never be able to stand normally on tripod... the best option would be to have some static "legs" on one side and maybe a tripod on the other attached by any means you can figure (such as on image nr.3) maybe a solution as on David Hunt's build?
The Software
The software i built can be found in here: https://github.com/equilerex/PiLapseRails
Ive also embedded a video of the software in action but the screen capture is really out of sync and laggy (crappy capture software but couldnt bother to redo :P)
on that page you can find all the steps you need to go through to get it running on your raspberry along with some more information on how it works/can be used, etc.
- in general, theres a few worthy features:
- Remembers settings across sessions (after you restart)
- Configure rail length (will limit the movement accordingly)
- Shots/time/inteval estimation & feedback (according to the rail length)
- configure a lapse by setting the direction, motor length & “wait” length
- bulb mode which lets you define shutter speedtest shot (when youre testing bulb mode)
- loop (will keep on lapsing back and fourth on the rail)
- manual motor controls (move back / fourth)flip motor pinsetc
i do have to note that the "remembering" of the position works best on fixed and reliable systems where the belt is
not skipping gears, not sliding around, the engine aint lagging, etc.
Thanks for reading and hope it might inspire some of you to build your own ;)
if interested, the original article i wrote can be seen on the dedicated project page in here: http://blog.koivistik.com/pilapserails-raspberrypi-time-lapse-rails/