StevenBrace.co.uk Photography, Mechanical Engineering and Misc.

DIY Arduino Motorised Time-Lapse Head

In May I came across the OpenMoCo project which is a community that is producing an open-source photographic motion control system, concentrating mainly on the software side of the problem. For a while I have been trying out timelapse photography and the idea of creating paning, tilting and sliding shots has been interesting but the equipment to do this can cost more than £1000. Being an engineering student and having access to some machining tools I thought it would be fairly easy to come up with and manufacture a system for myself. Initially I had a look around the OpenMoCo forums and found rigs other people had built, bearing in mind I had only a few days to build the system I decided to base my design heavily off of this pan-tilt head one user built. I had a very limited time and budget so couldn’t risk going with a totally novel design; I knew this had been tested and would work and I also had access to a laser cutting machine so it made sense to heavily take advantage of this prototype.

I quickly modelled a first draft in a 3D cad program, luckily most of the suppliers who I purchased the components from offered cad models so this allowed me to get on with completing the design before I had even received most of the parts. The cad software made it easy to quickly change the design and I had the whole thing finished in two days. The final design comprised of 10 flat acrylic plates which were laser cut using s 50W CNC laser, courtesy of the University of Bath. Four of the plates needed a small amount of additional machining to add threaded holes and to ensure that the ends were properly perpendicular, which is important since the laser cutter leaves a slightly tapered cut.

A render of the cad model for one of the earlier designs is shown above, subsequently the profile of the base sections was changed to create a fully enclosed base. The manufacture was fairly straight forward and was nearly all finished in a few hours, other than the electronics, which is still ongoing. I still plan to add a slider to the system and have the an extra motor and driver board ready for when I can implement this. For the slider I am planning on using either an igus slider or percission rail and DIY carriage. We shall see.

The head is driven by two stepper motors through a worm gear which reduces the motor speed by a ratio of 30:1, this allows 6000 steps per full rotation of the head, and since the motor drivers I use break each step down into 8 microsteps the rig can have a spatial resolution of 48000 points per rotation. The whole system is controlled using an arduino UNO, an electronic prototyping platform which allows a cheap and easy way to program your own microprocessor. Initially I was planning on using the OpenMoCo timelapse engine to control the head but after some time a friend and I decided to come up with something a bit different that would allow manual control as well as programmable time-lapse moves which could continue even without a computer attached to the arduino. The firmware is still a work in progress but in the meantime I will be using OpenMoco.

A picture of the final system is shown on the left, I will update soon with some test footage once I finish the electronics and software side.

Parts list

  • 10x laser cut acrylic plates
  • 18x M4 countersunk bolts
  • 2x M5 Socket head bolts
  • 2x M5 Nylocks
  • 2x 25x42x11mm Thrust bearings
  • 2x 5x12x4mm Thrust bearings
  • 2x A-1Y-5MYK08RA Worm
  • 2x A-1P-6MYK08R030 Worm Gear
  • Arduino UNO
  • 3x Easy Driver Stepper Driver
  • 3x  ROB-09238 – Stepper Motor with Cable
  • Misc: washers, spring washers, thread insert for tripod mount, tripod screw, diodes, resistors etc…

 

I will post more information once I have all the software sorted out, at the moment the electronics have just been (semi)finished and I am doing a couple of tests, getting the time-lapse function working with some quick and dirty code but will update when I have something better and more stable. Here is a picture of the messy electronics, the opto-isolators are doing nothing at the moment, they are for later. Enclosure coming soon…

I also hope to use the head for giga-pan photography as well, this is when you take a large grid of pictures at different angles and stitch them together automatically into one much larger image. Also I might try some experimentation with real time macro videography. Any ideas?

Edit: Added first video tests below, just got to iron out the sticking problem at the beginning of the move ramping and things should be working out well.

DIY ARDUINO MOTORISED TIME-LAPSE HEAD from Steven Brace on Vimeo.

45 Responses to DIY Arduino Motorised Time-Lapse Head

  1. Franco says:

    Hi Steven, I am interested in your project of Pan Tilt. I would like to know if you intend to publish the complete project (drawings, materials list, construction specifications) or to develop and market the finished product.
    What times do you mean?
    Thank you very much.
    franco

  2. steven says:

    At the moment I’m not planning on selling it and I can send you the part files if you want, do you have any CAD experience? I have all of the drawings but also a couple of suggestions for modifications which will improve the design. Email me if you want to know more. My email address is steven my website URL.

    Steve

  3. Franco says:

    Hi Steven,
    Thank you for answering my comment on the website!
    I have some other questions I would like to ask you if you don’t mind…
    Based on your current model, what is the max weight of the camera that the pan tilt can handle?
    I have a Canon 5D, is the motorized head powerful enough to do a complete rotation on both axes even if the weight of the camera is not in the center of the head?
    Do you have an idea of how much power it consumes?
    I’m not a CAD expert but a friend of mine will help me.
    I would really appreciate if you could send me the CAD drawings and your suggestion for improving the design.

    Best regards,
    Franco Grisa

  4. David says:

    Hi Steven,
    I would like to produce a rig similar to yours as a present for my son. I notice that you generously offered to share your CAD drawings to Franco and wondered if I could also beg a copy. I really like the layout of your unit although I have a similar question to Franco regarding the weight of the camera, my son uses a Canon 5dII that we bought him as a graduation present.
    Best regards
    David

  5. steven says:

    I guess I will post the plans here since a few people seem to want them.

    There are a few changes that need to be made, if I don’t make the changes before I upload the plans I will write an explanation of any that need to be carried out.

    As for the 5D2, I think it will take the weight. It would definitely be better to build the whole system out of something like aluminium, but the perspex can take quite a bit of load. The main problem is the axle rotating without the camera tilting, I found I had to glue the axle into the tilting part as the friction between the head of the bolt and the perspex wasn’t enough to stop rotation.

    Power consumption is somewhere around 12 Watts when the stepper motors are enabled. Depending on the kind of move you are doing you can periodically disable the stepper motors, which saves a lot of power. I have written a firmware which does this, but the code is really early in the development and I need to spend more time on it before I release it.

  6. Lance Vick says:

    So I was looking to make a pan tilt camera system based on the raspberry pi. In addition to added language flexibility (python in my case), this allows me to use the gphoto2 library to control image capture, focus, etc and even have web-based control systems via a wifi module.

    On looking at different mount designs, this form factor certainly seemed to be one of the easiest to produce, especially if I decide to produce a lot of them. I was also surprised to see you were using some of the same parts I had already purchased. Great minds think alike :-)

    I went ahead and built my own mount inspired heavily by your design to go with my code and electronics.

    For those interested here is the current code in python and design files: https://github.com/lrvick/pixy

    Design is just a flat SVG file which I cut out on a CNC machine running linuxCNC at my local hacker space.

    In this design I did ensure the main mounting holes put both rotation points at the center of the lens for my t4i, and potentially other canon cameras.

    Here is a video of the current state of the prototype mount/control board:

    http://www.youtube.com/watch?v=hc4pr8o1RnE&feature=player_embedded

    • Brian Williams says:

      Hi, could you please explain what the purpose of the sym file is? I assume the sch file is for an Eagle pcb design?

      Thanks,

      Brian

  7. ken.G says:

    Hi Steven,
    I very Like your project.
    I would really appreciate if you could send me the CAD drawings to build my Timelapse .

    Best regards,
    Ken.G

  8. Ken,
    Your P&T head looks great and what we started with a little bit ago with the first versions of the eMotimo PT http://openmoco.org/forums/diy-motion-control/pan-tilt/all-acrylic-pt

    We went on to sell the eMotimo PT, and now have created a TB3 version as well.

    If you are still looking for firmware, go out to our http://www.emotimo.com/forum and start with ours. We have a pretty slick setup that uses a wired or wireless gaming controller.

    We are happy to sell some extra boards for the hobbyists as well. For those of you looking for a fully capable solution, check us out too at eMotimo.com to see how it all works.

    Best regards,
    Brian – eMotimo founder

    • Thomas S. says:

      Sorry- my comment got messed up due to a page refresh… that was supposed to be for Steven

      This one is for you-
      I just saw you eMotimo setup and fell in love completely… I have created a time lapse box for my mediocre Panasonic FZ-100, and have been using that for a while but its just fallen apart as of late, and its not wirth the trouble of me fixing. So I thought I would build version 2.0

      Cue the searching for time lapse stuff- and I saw a pan and tilt timelapse. Normal timelapses are cool, but getting motion into them just puts you in there with the scene. So I thought I’d try to build one.

      Now, of course, if I had the money, I would buy a commercial solution like your eMotimo. But being a high school sophomore, its a bit hard to come up with that kind of money…

      I am headed off in a few weeks to do a mission trip in guatemala. I am trying to build, from scratch a motion control rig like this.

      Its not so much the coding or anything that scares me- I’ve used arduino for a while and google is my best friend. I am having trouble getting all the gears and stuff for a stepper motor, as well as figuring out how to mount the rotating shafts so that they are low-friction. I am trying to find the right sized gears but can only find .185 gears that are within my budget (I cant spend $20 on a gear right now..), so I am wondering possibly what kind of gears you use in the eMotimo??

  9. Javier says:

    Hello Steven, your model is excellent! I’d appreciate if you can send to me the online sites where I can buy the worm gears and if you want I’d appreciate if you can share the blue prints or whatever thing that can help to me to build this pan & til.
    thanks a lot
    Regards,
    Javier

  10. Thomas S. says:

    This is exactly what I want to build (albeit a slightly modified version)
    I’m a high school student so I do not have the funds for a commercial solution… would you mind sharing the CAD model of this possibly (photogeek121(at)gmail.com)? What I am struggling with is why you need the small thrust bearing, apart to separate the gear shaft from the acrylic…

    Also- I only have 3 weeks or so to build this, so a reply ASAP would be uber-appreciated!!

    Thanks so much in advance-
    Thomas

  11. Sam says:

    Hey Steven!

    This is exactly what im currently trying to build… being broke and having a photography hobby dont exactly go hand in hand.. lol.

    Are you able to send me your CAD drawings? My Arduino unit is going to be a bit different (programmable LCD etc), but your mechanical setup looks great!

    Any help would be beyond appreciated!

    Thanks
    sam(dot)lonergan(at)hotmail(dot)com

  12. steven says:

    CAD Files are here:

    http://stevenbrace.co.uk/pantilt/

    They were created in solid edge st2 student license.

    If anyone managed to open them please post a version exported as IGES or STEP, since I no longer have a SE ST2 license.

    Thanks,
    Steve

    • Thomas S. says:

      Hey Steve- still working on getting these transferred over…. i can get the individual parts in IGES and STEP, but dont know about the entire assembly all together…. Ill try to have those posted by next week.

      Also- I am building my own modified version of this, have almost got the tilt part all assembled. Im having a bit of trouble though, concerning the screw connected to the tilt-slave plate. The screw connected to the gear does not seem to be tight enough to create enough friction against the acrylic plate to hold anything over a couple pounds. How did you overcome this in your design? Ill post pictures of mine soon.

      -Thomas

      • javier says:

        Steve, thanks a lot for sharing the file.

        Thomas, Could you transform each part in IGES and STEP? If yes, I’d appreciate if you can share this files.

        Thanks a lot!

        -Javier
        -JFArt.com.ar

        • Thomas S. says:

          Sorry about no files.. been really busy trying to make my own version of this. Not being British, I’ve tried to convert the whole thing to imperial measures (to reduce cost on my end).

          I tried to make one in acrylic but failed miserably- partly due to thin acrylic and partly because I tried to make one entirely using acrylic glue. Not cool.

          So right now I am trying to make one in machined aluminum (being a student I have free time on the CNC machines, thank goodness), and bending the 90* corners on the 2 L brackets, and tapping the motor mount. As of now its not looking good- because the motor is so heavy, my screws bend a bit, and don’t tighten all the way. IDK if I can go up a size (next size in US is 6-32, which is basically an M3.5 screw)…. maybe I just need to move up a couple sizes.. It sure is a pain in the *** trying to get this to work!

          Ill work on getting those files to you. Sorry about forgetting them… :(

          • Thomas S says:

            Here is the first set of files (just all the parts individually converted into .MCX-5, .igs, .stp, and .dxf formats)

            https://www.dropbox.com/sh/5wkvmstrunrcjhq/cVc0ECtqm4

          • steven says:

            Thanks for converting them, I was having major issues with the files in solid edge…

            Do you mind if I re-host them on here? Dropbox has a tendency to block files after a certain number of downloads/length of time.

            Also, to anyone downloading these files, there is a hole in one of the base plates which is misaligned with the walls, it doesn’t really matter since there are still enough to hold it rigid though.

            I am working on a new design now, thinking of using DC geared motors rather than steppers. Will post soon.

            Steve

  13. Erik says:

    Hey i was wanting to start a similar project to this….i was just wondering where you got all the gear parts for this?

    • steven says:

      SPD-SI

      You can just google the part numbers and you should be able to find where i got them from.

      Steve

      • Erik says:

        Hey thanks just ordered the parts….i was wondering if you dont mind sharing the arduino sketch…im kind of new to the whole programming and not sure how to sketch out a simple pan. thanks in advance.

        • Thomas S. says:

          If you can’t get the program the coding from the Emotimo TB3 is on their forums and I believe they use the same stepper drivers (or ones quite like the EasyDriver). You might not have truble using their code!

  14. Gareth Williams says:

    Dear Steven

    Thank you very much for putting this article on line. I am hoping to build a pan/tilt head for video use (without time lapse). I would like to ask you a rather simple question or two as I am rather ignorant about mechanics.

    Where would I source the motors etc I need to build this? I live in the UK and most information I find comes from american sites. Is there a UK vendor for these parts or would I be better off ordering from the US?

    Would I need to use different motors etc if I only want to use it for live video and not timelapse? Or would you say it is better to have a unit that can do both?

    Like I say I am very ignorant of these matters and your knowledge would be greatly appreciated. I have been looking at these machines for a while and am only beginning to just about understand what certain terms mean. I am a sculptor turned film maker and I intend to use the device as an attachment to a crane arm.

    Yours sincerely

    Gareth Williams

    • steven says:

      Gareth,

      The motors are available in the UK – http://www.amazon.co.uk/Motors-Actuators-ROB-09238-Stepper-Motor/dp/B004S223SS

      Using these motors can work for real time video, but they create quite a loud buzz. Here is a video:

      http://vimeo.com/51856361

      It would be better to use a DC motor probably. I am experimenting with DC motors with encoders so I can do time-lapse as well as real time, but for your requirements all you need is a plain dc motor.

      Steve

      • Thomas S. says:

        I would suggest instead of using DC motors, use servos. They are pretty dang fast, and have encodors, and when stopped lock up with quite a lot of torque. The only reason i am using steppers is to have more accurate step rates and repeatability. Though with the right sized gearing you might be able to get it to move quite fast.

        As for the motor buzz, do you think yours could be dampened by using some sort of of padding between your motors and your structure? Like rubber washers or cork or something? I am factoring buzz in to my design and need to experiment some with that…

        • steven says:

          DC motors, with encoders, and servos are pretty much the same thing I think. Just servos are self contained and have the control software on board. I am making my own control board and code so I have more control over position, velocity and PID tuning.

          Here is a video of the Motor I have up and running, the positional accuracy is actually much higher than I achieve with the stepper motor.

          https://vimeo.com/65568381

          For the motor noise I have a couple of ideas, but i don’t think you will ever really be able to get rid of it completely because there has to be a fairly rigid connection between your motor and your camera at some point otherwise you will not be able to achieve the positional accuracy you need.

          I’m thinking along the same lines, rubber washers, motor enclosure, sound absorbing foam. But I think a key issue is the motor itself, which is one of the reasons why I wan to move away from steppers.

          • Thomas S. says:

            Well you probably know more about them than I do :)

            Anyways, I still think I’ll stay with steppers in my design, for a while that is… I got some 3 steppers so I will try to make a pan tilt and a dolly.

            One question I have to ask is how your positional accuracy is more? From what I remember researching before this project is that dc motors/servos couldn’t really be stopped accurately (though now in hindsight they may have been discussing servos…)

            I am guessing that due to your gearing reduction that you have quite a few positions possible with that motor though.

            On my design, everything is machined aluminum, which is nice, but I still have to test for noise (using rubber washers). Right now my screw does not hold enough torque against the frame, so I am changing my design to use a carriage bolt to hold the tilt axis.

            Mainly the problems I am having in my design have to do with my gear sizes and axis bolts though. I was using #10-32 bolts earlier, but after assembling it bent so I decided to go up a couple sizes to a 5/16″ bolt (overkill). However, the real problem is gearing. Because the stepper motor shaft is so short, the gear cannot be very large, otherwise it will hit the motor mount plate. So I’ve got to figure that out…

            I’ll try to post a few videos and pictures on my website today..
            Keep working on this!! :)

          • steven says:

            Well on my motor I have a 360 count encoder so I can tell where the motor is to 1 degree, and by using a PID control loop I can change the input voltage to the motor to stay at the desired position; also I have a 14:1 gear box so my positional accuracy at the output shaft is actually 1/(360*14) or 1/14th of a degree. Most stepper motors are only 200 steps per revolution or 1600 with microstepping, this motor works out at about 5040 steps per revolution.

            It also has the advantage of not using much power at zero position, and also there is position feedback so no risk of losing position due to missed steps etc…

            Yeh I think the shaft needs to be bigger in my design, the current design calls for 6mm I think, next time I would go higher, I may even go for big hollow shafts so I can pass cabling down the middle and avoid tangling during moves. I am currently redesigning the whole thing to be made out of machined aluminium, incorporating the motor change.

            Steve

          • Thomas S. says:

            Well you probably know more about them than I do :)

            Anyways, I still think I’ll stay with steppers in my design, for a while that is… I got some 3 steppers so I will try to make a pan tilt and a dolly.

            One question I have to ask is how your positional accuracy is more? From what I remember researching before this project is that dc motors/servos couldn’t really be stopped accurately (though now in hindsight they may have been discussing servos…)

            I am guessing that due to your gearing reduction that you have quite a few positions possible with that motor though.

            On my design, everything is machined aluminum, which is nice, but I still have to test for noise (using rubber washers). Right now my screw does not hold enough torque against the frame, so I am changing my design to use a carriage bolt to hold the tilt axis.

            Mainly the problems I am having in my design have to do with my gear sizes and axis bolts though. I was using #10-32 bolts earlier, but after assembling it bent so I decided to go up a couple sizes to a 5/16″ bolt (overkill). However, the real problem is gearing. Because the stepper motor shaft is so short, the gear cannot be very large, otherwise it will hit the motor mount plate. So I’ve got to figure that out…

            I’ll try to post a few videos and pictures on my website today..
            Keep working on this!! :)

  15. Patrycia says:

    Hi Steven,

    My name is Patrycia, I’m a PhD student at the Queen Mary, University of London and I’m working on 3D semantic reconstruction of human living environments. I’m really interested in your work since I’m looking for a tilt and pan platform where I can mount a RGBD camera (kinect or asus xtion). I don’t have much experience in electronics since my thing is software development. Therefore, I would like to know if you are interested in working on a project where hardware and software could be combined to build a flexible, interactive and easy-to-use 3D scanner for semantic scene analysis. I’m living in London at the moment. Let me know what do you think about this. ;-)

    Kind regards,

    Patrycia

  16. Gabriele says:

    I can’t find the .cad with quotas for laser cutting.
    can anyone give me the files
    thanks

  17. James says:

    This is an awesome project you’ve completed.

    I’m considering doing the same thing.

    I’ve a couple of questions.

    Did you mount a DSLR on it?

    How do you define the start and end point of the pano shot?

    Cheers

    James

    • steven says:

      Thanks.

      Yep I did mount a DSLR on it, it can take a fair bit of weight. I have used it with a 5d mk2 and some pretty heavy lenses.

      I wrote a sketch that ran on the arduino to take the panoramas. It would take a grid of photos with a defined angle between each column and row.

      Steve

  18. Fortune says:

    Hi Steven,

    I am a final year Electronic Design student and I am working on a similar project to yours. I really like the design of your system because of its uniqueness, and suitability for my project as it has rotation in X and Y axis. I have thought of modifying it to include a Z rotational axis but I have little time between now and my deadline to work on the Mechanical Design.
    I was wondering if I could receive permission to use your design for building my system.

    Thanks

    Fortune

  19. Fortune says:

    Yes I’ve got it. Many thanks.

    Fortune

    • steven says:

      Maybe send me some information about your project after you are finished, wouldn’t mind seeing any improvements you can make.

  20. Andrew says:

    Hi Steven,

    I’m really interested in building your pan tilt mechanism, did you have any more progress on the code, or is the version that you posted a few years ago in the comments the latest?
    Cheers
    Andrew

    • steven says:

      There is a new post on the homepage with updates i have done for controlling the head with an xbox 360 controller, but at the moment it is incomplete.
      Steve

  21. Thierry says:

    Hi Steven,
    I am interrested in your project of Pan Tilt.
    I would like to know if the complete project is avialable (drawings, materials list, construction specifications) or if your selling it?
    Can you send me more information about that
    Thank you So much.
    Thierry

  22. Yakeen says:

    Hi Steven,
    Joystick can be used in this project?
    How? Please help…

  23. Yakeen says:

    hi

    The joystick can be used to this project

Leave a Reply

Your email address will not be published. Required fields are marked *


− one = 3

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>