loading
This instructible will show you how I built (and you can also build) an Arduino Timelapse Panning controller for GoPro cameras. There are obviously some refinements that can be made to the design, but in general I am very happy with the results that I've captured with it. Check out the video below for a quick overview of the device.

Step 1: Everything You Need

What you will need:

1x Arduino Uno Board R3
1x SainSmart LCD Keypad Shield
1x 28BYJ-48 Stepper motor
5x Female-Male Solderless Jumper Cables
1x 7-pin male header pins
1x 6x3x2" Radio Shack project Enclosure
1x 12 tooth drive gear
1x 36 tooth driven gear
2x 3x3 plate from Hillman Hobby parts
2x 1x3 bracket from Hillman Hobby parts
2x 2x3 right angle bracket from Hillman Hobby Parts
8x short screws and nuts
6x long, slender screws and nuts
4x nylon spacers
3x Buttons
1x 5mm drive shaft

Helpful haves:
Drill
Dremel or similar Rotary Tool
Picture hanging putty
2-part metal epoxy

Step 2: Circuit Design

There's nothing much to the circuit design. The Keypad Shield plugs straight onto the Arduino. You will need to solder a seven pin male header onto the keypad shield to get access to the pins which will power and control the motor.

Step 3: Building the Chassis for He Output Shaft.

Begin by drilling out the center holes of the 1x3 brackets so they can accommodate the output shaft. Once they're wide enough to accommodate the shaft without any binding, begin assembling the output shaft by mounting your driven gear and slide it throught he bottom bracket. I've added a nylon foot to the bottom of the shaft to keep it from binding on the baseplate.

Next, begin assembling the Chassis by attaching the top bracket to the two side panels. Notice that I arranged the bolts for the top bracket with the nuts facing outward - I'd had clearance issues with the driven gear. Then, attach the bottom bracket, the side panels and the L-brackets together to form the structure.

Step 4: Machining the Baseplate

Use the completed chassis to mark out where you'll need to drill the baseplate for mounting holes. Once you have the chassis mounted, line up the motor ensuring that the gears have a good interface. I find that placing a wad of picture putty under the motor helps with this. Then, drill the mounting holes for the motor and mount it into place using two of the longer, slender bolts.

Step 5: Machining the Enclosure

Next we'll machine the enclosure. Place small dabs of putty on the four corners of the screen, and place the keypad shield into the inside of the enclosure. The putty will keep the screen in place when marking the mounting holes for the screen, and will help mark the location of the screen - excellent for marking the for corners of the screen for the hole you'll need to cut out of the top.

Use the dremel to cut the hole for the screen, and then drill out the additional holes you need, for the brightness control and the three holes you'll need for the buttons.

Finally, cut a hole in the side of the enclosure for the USB cable. Neatness counts.

Step 6: Wire Up the Motor, Upload the Sketch, and Test.

Using the five jumper cables, wire up the motor to the board as shown. When you're ready, upload the following sketch to the uno board, mount it to the shield and test to make sure everything works.

The sketch for this project can be fount at the following link. I'll apologize in advance, I'm rubbish with commenting code, so there really aren't any comments. Sorry.

 https://drive.google.com/file/d/0B4Fgbf2oN7rQSU92bWFfb0ZuM1E/edit?usp=sharing


----------------------------------------------------------------------------------------------------------

Step 7: Mounting Boards Into the Enclosure

Place the long screws through the mounting holes of the enclosure and then flip the enclosure upside down. Place the spacers and buttons and then drop the keypad shield onto the screws. Loosely fit the nuts onto the screws, making sure that everything fits where it needs to and the buttons function properly. Next, place the Arduino board into place, ensuing that you can plug a USB-B cable through the hole in the side.

Now is a very good time to double check that everything works before buttoning up the enclosure.

Step 8: Finishing Touches

Spread a wad of picture putty on the inside of the enclosure and begin to fit the baseplate into the top of the enclosure. The output shaft should leave a mark in the putty and indicate where you'll need to drill the hole for the output shaft.

You can add a tripod mount to the plastic base of the enclosure by drilling a hole in the plastic base and using 2-part epoxy to weld a 1/4" nut to the base. Make sure you roughen up all mating surfaces to ensure a good bond.

Finally, you can modify a GoPro flat mount plate to accommodate the output shaft by using the picture putty to bond a plastic plate to the bottom of the mounting plate. In this case I used a spare gear. Drill a hole for the output shaft, ensuring a snug fit. You can also use 2-part epoxy in place of the putty for a more permanent bond.


<p>Does this project use a stepper motor driver??? and can you show the schematics for this project?? Thanks in advance :D</p>
<p>just curious, what is the lowest rotation speed you can get with this setup? Has anyone gotten closer to 1 rev per hour? or know what you would need to do to get there?</p><p>thanks,</p><p>-ryan</p>
You should be able to make this go as slow as you like. The code on the arduino takes the total runtime of the timelapse (currently limited to 12 hours, but easy to change) and divides that up by the number of motor steps needed to get from the start of the program to the end. <br><br>I suppose that if you moved it over a short enough distance over a long enough period of time, you would eventually see the individual steps of the stepper expressed over the long period of time, appearing as a juddery motion. Should be fairly easy to fix using stabilization software though.
Thanks for the quick reply. Any idea what the smallest degree of movement is?
<p>Hello,<br><br> The Arduino code does not work for me, sometimes I have strange codes on the screen and other jumps all steps to show me constantly &quot;Program Complete&quot;<br><br> I have an Arduino Uno and lcd shield &quot;DF Robot&quot;.<br><br> Can someone help me?<br><br> Thank you.<br><br> I'm speak french and spanish, my English is very bad, thank you google translation.</p>
<p>Thanks for great project. I have posted a couple of pics of my version. I have used an Atmega 328 microprocessor as used in an Arduino Uno mounted on veroboard.</p><p>Instead of the LCD keypad shield I have used an I2C 4x20 LCD display.</p><p>I have combined your code with Mark Wheeler's rotation code below.</p><p>Gear and pinion are old Meccano parts and are 19 /133 or 1/7 ratio.</p>
<p>I have now added further details on my site including a video, schematics and veroboard layouts here <a href="http://home.btconnect.com/brettoliver1/Timelapse_Panorama/Timelapse_Panorama.htm" rel="nofollow">http://home.btconnect.com/brettoliver1/Timelapse_P...</a></p>
<p>Nice work!</p><p>I am making a version of your Time Lapse device using a 4x20 LCD I2C display and Meccano gears with a 1 to 7 ratio.</p><p>I have combined your code with the the modified code from</p><p></p><p><a href="https://www.instructables.com/id/DIY-Arduino-Time-Lapse-Panner-for-GoPro/" rel="nofollow">https://www.instructables.com/id/DIY-Arduino-Time-L...</a></p><p>The code is switchable between the two so I can select the code for full Rotation Time Lapse or the set rotation Timelapse using your code.</p><p>As I have extra display space on my 4x20 display I have added degrees left and right when setting the start and end points and also total panorama angle once the panorama starts. </p><p>Will post a pic when the project is completed.</p>
<p>Really nice job, the resulting videos are amazing !</p><p>Thats is exactly what I was looking for. Many thanks for posting ! :)</p>
<p><a href="http://markwheeler.com/wordpress/?p=381" rel="nofollow">http://markwheeler.com/wordpress/?p=381</a></p><p>I rewrote some of the code to prompt for # of Rotations and Duration in Minutes.</p>
<p>Hi,</p><p>my name is Tobi, i coose this to be my first real arduino project (i've bee playing around with it a while).</p><p>I wanted to modify it as i want to use a LCD 1602 and seperate push buttons.</p><p>My questions now how to wrap it up together, or how to modify the code to run.</p><p>Another question is, if i need to run the stepper with a ul2003 driver, or if i can directly wire it to the arduino.</p><p>I don't know it its important, but i don't use an uno, instead i chose a nano v3.0.</p><p>Thanks</p><p>Tobi</p>
<p>Hi Tyler,</p><p>I tried to build something up similar. I thought that with microstepping the stepper, that the 4096/rev resolution would be smooth enough to use direct drive, but it isn't. I am observing some &quot;cogging&quot; in which even though there are supposed to be 8 (micro)steps per phase, 6 of them barely move and two of them move much more. Did you observe this kind of behavior on your stepper? I have another one so I guess I'll see if the other one does it also. At any rate, I guess I'll end up using gears. I found that hobby king has metal gears that should work at a much lower price (around $3 or $4 dollars each). What did you use (where did you get), your 5mm drive shaft? Thanks!</p>
<p>I got around to making my own based on your concept. I made a few changes and wrote my own software (I'm a software engineer so I figured I ought to write my own!). Thanks for the inspiration!</p>
Thanks for the great project... I just finished building my own based on yours. I created a page with the parts I used and put up a youtube video<br> <br> <a href="http://www.bethnchris.com/2014/01/01/diy-gopro-arduino-camera-panning-rig/" rel="nofollow">http://www.bethnchris.com/2014/01/01/diy-gopro-arduino-camera-panning-rig/</a><br> <br> <div> <iframe frameborder="0" height="315" src="//www.youtube.com/embed/zKGAY__RgAI" width="560"></iframe></div>
You can find gears cheaply in old scanners and printers :)
My first build of this design used nylon gears that I'd harvested from a hand-crank powered LED flashlight. I had to drill the bore out of the gears quite a lot and warped them in the process, so they weren't suitable in the long run - but it was a great proof on concept. I definitely will be eyeing abandoned printers in the future!
No doubt though that metal ones are the best solution.
thanks a lot for that wonderful project.&nbsp;since i had all the electronics at home I put them together, loaded your software and it was working straight immediatly! after finding tooth drive gear (used nylon gear) in a local hobby store, i decided to go for a more easy and stylish case using two acrylic glass pieces I got for cheap, brass standoffs. doing that way, except drilling holes at exact places no additional Mount for the shaft is necessary. <br><br> check the following Pictures to get an idea, what I am talking about: <a href="https://www.dropbox.com/sh/azsx2rrjdx11i2p/L_wYMblZvZ" rel="nofollow">https://www.dropbox.com/sh/azsx2rrjdx11i2p/L_wYMblZvZ</a>&nbsp; <br><br> Best regards from vienna, Austria!<br> Christian
Christian, that looks super elegant! Do you use a drill press to get your accurate drilling? <br> <br>I'm glad the code worked straight away. Its really exciting to see my code on the screen of an arduino a continent away.
use just my dremel 8200 on a dremel workstation.<br>the acrylic glass comes with a protective cover film while still remaining transparent enough. <br>this makes it super easy to take the exact points for holes as it is enough to hold the components where you want them to have at the end, mark it with a water restistant pen and the drill the hole.<br>you just remove the film after you are done with the last hole and the surface of the acrylic glass still is absolute without any scratches or something.
Hi Tyler, <br>Thanks for the great post! Your project looks great. <br>I am a bit overwhelmed by the sdp-si website. I don't know much about gears... Could you advice me as to which models to buy? <br>Thanks a lot!
Yeah, it was pretty overwhelming to me at first, too. Took me a while to realize I could isolate search fields by internal bore, gear pitch, etc. Anyhow, the two gears I used were the following part numbers. Pop these in the search field and it should come right up: <br> <br>S10T08M036S0505 <br> <br>S10T08M012S0505
Very nice. Might adapt this for the iPhone. ( time lapse apps )
Oh, and instructions. Some of us aren't so up to speed... (smiles)
It would be great if you could provide the contact for a supplier for these parts. It would be VERY nice to provide all of them to interested parties - as a DIY kit!
I can put together a shopping list if that'd be helpful Trickiest part is the Hobby Parts, since I could never find any sort of parts fiche from Hillman - I just needed to rummage through the drawers in the hardware section.
That'd be great a shopping list, and for the hardware bits I can rummage around/improvise. It's the arduino, electricals and electronics, wiring etc that I'd love for the parts list...<br>Thanks in advance...
Great Stuff ! would you be interested in building one for me at a price that suites as i just don't have the time. <br>Adrian.
Very nice job! First Arduino project? Wow!
Thanks!
You ever thinking of selling one? I'm intrested
Likely no. Between the cost of parts and the quality of my machining at the present time, I don't think I could sell one at a decent enough price margin that it would make sense for my time or the buyer's wallet - not when there are already great products like the Radian or the SpinPod. I think as DIY project it can only improve by it passing under more hands and eyes. Thanks for the consideration though, that's hugely flattering!

About This Instructable

66,863views

525favorites

License:

More by twinegarner:Timelapse Panning controller for GoPro Cameras 
Add instructable to: