Timelapse Motion Control Axis

•January 3, 2010 • 9 Comments

I’ve been working on the OpenMoco project lately, and have been playing around with some pan/tilt/etc axis designs.  This is the latest of my prototypes, CNC routed out of cast acrylic with worm gearing.

The specs are:

  • 120:1 Worm Gearing
  • Anaheim stepper motor (1.8′)
  • Minimum rotational degrees at 8x microstepping: 0.0019′
  • Easydriver v4 stepper driver
  • Max camera weight: 10lbs.

Mounting is allowed is different configurations through the use of small plates and threaded inserts in three sides of the axis.  An additional plate allows a clamp to be mounted to the output shaft.  One small plate aso has a 3/8″-16 threaded insert for direct attachment to a tripod.  The motor axis is controlled by an Arduino running the OpenMoco Timelapse Engine, which is in turn controlled by a netbook using the Slim application.

Here’s a video of it in action, showing how the engine allows real-time changes in addition to scripted activities using keyframes and actions.

Continue reading ‘Timelapse Motion Control Axis’


A Detailed Guide on Implementing Arduino Intervalometers

•August 4, 2009 • 4 Comments

I’ve begun a series of tutorials on the basics of developing your own time-lapse electronics. To make sense of all of it, I’m working in a forward-manner: starting with the most basic elements, and providing tips and tricks that will be built upon in future tutorials.

While I understand that most of the DIY builders reading this post are long past the point of building just a simple intervalometer, for those just getting started, this should be highly informative. Unlike many other tutorials, I’m not just giving you some schematics and a block of code. Instead, my goal is to explain why things are done a certain way, and teaching foundations for better system design.

This tutorial covers building a simple test circuit that will allow you to validate your software and hardware without putting wear on your camera, the importance of protecting your equipment from mistakes, three different timing options: blocking, non-blocking, and non-blocking using simple interrupts, and finally controlling a Canon or Pentax camera. (Nikon, etc. I don’t have much info on – perhaps one of the Nikon-having contributors can expand in a later tutorial.)

The tutorial can be accessed here: http://openmoco.org/node/88

OpenMoco: The Open-Source Photographic Motion Control System

•April 17, 2009 • 2 Comments

I’m happy to announce that I have released the first parts of the OpenMoco System, and set up a website for it. I’ve been working with Jay Burlage (milapse) on bringing this to market as a viable product.

The first components are designed around a simple and inexpensive controller to build for time-lapse motion control (What I refer to as the ‘Engine’), including a fully-functional API for perl scripts running on a computer to configure and control the engine.

The OpenMoco system is designed around several key components:

  • OpenMoco Engine: A core body of code that runs on a stand-alone arduino providing direct control of motors and cameras.  The code and hardware combined make up an ‘engine’
  • OpenMoco Interface: A body of code and/or a physical hardware component that provides an abstracted user interface, fulfilling a given use-case (easy timelapse, advanced timelapse, stop-motion, scripting APIs, etc.)
  • OpenMoco Elements: The physical motor and bracket components that perform the motion and provide the final step in fulfilling the users’ goals.  These components are CC licensed, and may be built or bought

I’m working on prototyping the OpenMoco Elements hardware designs for fabrication using my wonderful K2 CNC machine, but in the mean-time I’ve already released a fully-functional Engine and Perl-Based API.

Here’s a very brief review of the engine features:

  • Camera Intervalometer (1-65,535 seconds)
  • Focus pre-tap function (trigger focus line before firing)
  • 3-axis stepper motor control (for pulse-driven [step/dir] stepper drivers)
  • Linear ramping of move execution speed (to prevent missed steps and jarring of camera during movement)
  • Linear ramping of motor movements in output video
  • Action Scripting (define actions to be taken at given keyframes)
  • Camera, Time, and Motor Movement Keyframing (trigger actions after # of shots, movements, or time)
  • An alt Input/Output for firing flash, triggering second camera, controlling program via external input, etc.
  • Two serial command interfaces for controlling via computer and/or another microcontroller (touch-screen UI, etc.)

For an example of the simplicity of the design of the engine, even given all of the above capabilities, check out the circuit design:

The goal is also to make the OpenMoco website a haven for all kinds of information related to DIY photographic motion control.

Come on by and check it out:  www.OpenMoco.org

The engine documentation (incomplete as of this writing): Engine Documentation

Download the Engine and the Perl API:  Software Downloads

LightRails – Dynamic External Exposure Control for Time-lapse

•March 25, 2009 • 13 Comments

I’ve been sitting on this a little while, and I feel a bit remiss in not sharing it sooner.  I had intended to make it “perfect” before sharing, but feel I’ve reached a point where I’m not ready to spend all of my effort on this project, and instead wish to work more on OpenMoco (but we’ll talk more about that soon!).  So, I’ll share this as a more “rough” project.

Some time ago, I started out with the TSL230R chip from Taos with the intent of producing a (a) my own digital light meter and (b) a dynamic external control system for time-lapse photography.  Certainly, the act of creating my own digital light meter was a smashing success, also having it control my dSLR via a remote cable in bulb mode was also a great success.  Enough so that it should prove an invaluable tool to the DIY pinhole photographer.  (Man, how do you time that 2:35:20 exposure manually? =)

The problem I wanted to solve was a difficult, but common one: how do you effectively manage exposure changes across sunrise and sunset time-lapses with a dSLR?  It sounds very easy, just go into Av or Tv mode!  Of course, life isn’t that easy.  The standard dSLRs generally only meter and adjust exposure in the very rough terms of 1/6, 1/4, 1/3, or even 1/2 EV steps!  This means it has a sledge hammer where the problem calls for a gentle tapping of a finger.  I set out to create a system that would control the camera externally, metering and adjusting exposure in 1/100 EV steps…

Continue reading ‘LightRails – Dynamic External Exposure Control for Time-lapse’

Add AC Power Outlets to Your Jeep Wrangler Console

•March 1, 2009 • 6 Comments

It’s always a pain in the butt to try and hook up those little A/C inverters to your 12V DC plugs when you’re on the road. The laptop needs to be charged, so do the external batteries for the camera equipment, the GPS is already using one plug, etc. Wouldn’t a 500W work light be a great thing to be able to use when you’re working on a broken down rig on the trail?

In this entry, I’ll show one technique for adding two A/C outlets to the back of the jeep’s console, proving 800 watts of power on tap, ready for your laptop or work lights. The focus will be on integrating everything so that it looks like it came that way from the factory, and providing control of the inverter through your switch panel.

I used a Vectra 800 Watt (1600 peak) 12V DC to A/C 120V inverter that I had previously cut up for some presently unknown reason. There are a number of models from other vendors that look, and seem to operate the same, so the general plan of action should apply for any similar inverter.

The finished product will look like this:

Continue reading ‘Add AC Power Outlets to Your Jeep Wrangler Console’

K2 CNC On the Way

•January 14, 2009 • 2 Comments

I’m very excited, the order has been placed – this beauty will be arriving at my office within a month or so:

Yup, that’s the K2 2514 benchtop CNC router.  25″x14″x5″ work area.  I’m going to be powering it with a Probotix 3-axis stepper kit, and will be using the porter cable 892 router. (And, possibly, my dremel 300 for PCB work.)  This will let me quickly prototype and build new designs I’ve been working on.  Now, to get started on an enclosure for it, so it won’t drive me mad in the studio.  The enclosure will be framed by 80/20 parts, and dampened to reduce the noise of the router.

In the next few months, I’ll have some exciting announcements regarding motion control applications for time-lapse photograpy.  Stay tuned. =)

Arduino and the TSL230R: Photographic Conversions

•November 28, 2008 • 20 Comments

In the previous post on using the Taos TSL230R with the Arduino, I covered the basic operations of the chip, and some essential conversions for going from radiometric to photometric representation of its data. In this post, we’ll expand on that knowledge to calculate exposure times and apertures using the Exposure Value system and produce much more accurate lux calculations using multiple wavelengths of light. After reading both of these tutorials, you should have enough information to create your own photographic light meter using a few simple components.

Continue reading ‘Arduino and the TSL230R: Photographic Conversions’

Arduino and the Taos TSL230R Light Sensor: Getting Started

•November 13, 2008 • 84 Comments

The TSL230R light sensor IC is an interesting package: a light sensing circuit wrapped up in a clear plastic casing. This neat little device will convert irradiance (the light energy on the surface of the sensor) into frequency. Working with a simple input concept like a frequency means that we won’t have to build any extra circuitry to get the full range of information from the circuit, and having an accurate measure of radiance means that we’ll be able to convert easily over to illuminance, which is how the light looks to us. Obviously, once we can answer the question about how light looks, we can use this information to control other things. (Some great examples are: camera exposure, dimming displays, machine vision, etc.)

This guide is intended to walk you through the basics of interfacing the TSL230 series of chips from Taos with your friendly Arduino microcontroller. The specifics of the chip’s operation may not be painfully obvious the first read over the datasheet, but this guide expects you’ve at least read the important parts: which pins are which, that you can change its sensitivity, and that you can change the scale of the output.

Continue reading ‘Arduino and the Taos TSL230R Light Sensor: Getting Started’

Big Bend National Park – little places

•October 10, 2008 • 6 Comments

Time-lapse clips from my recent trip:

Back from Big Bend

•October 3, 2008 • 2 Comments

Went out to Big Bend National Park this past Sunday, and got back last night. Nothing like four, quiet-filled nights of complete solitude in the desert to get a man back on his feet and ready to return to the city! Returned from my third yearly exodus to the Chihuahan Desert un-harmed, save a few cactus spines and some bug bites here and there.

My original plan had been to shoot lots of photos and time-lapse, spending two nights in the Telephone Canyon area along the Old Ore Rd, and then moving onto one night at the base of Juniper Canyon, then a solo overnight trip up the canyon to the South Rim, to shoot sunrise/sunset with a great view, then back down and one night at the Fresno site near Mariscal Mine, to shoot some time-lapse of the mine there. However, by Tuesday, my plans had changed due to the complete lack of any clouds in the sky (I’m obsessed with good clouds when shooting landscape =), and the disturbingly thick haze. Visibility was limited to a few miles, and photography a much more difficult task. With a thick haze and no clouds, my plans to shoot time-lapse from the South Rim were largely dashed, so I changed my plans to spend half a day going out to Terlingua, then day-hike Juniper Canyon, and then skipping out on the mine (which I’ve been to every time I’ve been there), to spend some time nearer the basin at Croton Springs.

On my first day-hike, I had intended to leave at sunrise and hike up the Telephone Canyon trail to either the Strawhouse trailhead or the canyon its self by lunch time, and then turn back. Expecting to make good timing, I took a liter and a half of water, and set out. Of course, the morning is always beautiful on the TC trail, but like last year, my plans were quickly dashed. Last year, my best friend and I tried the same hike, but got distracted before we’d even made it a quarter of a mile down the trail — we set off down a gully on an attempt to climb Alto Relex, which of course we succeeded in – eating our lunch on the mountain top. This year though, I was first slowed down a bit by the difficulty in following the rarely-hiked trail through the rocks and thick brush – trying to squint into the rising sun to find the cairns. As soon as the terrain got easier, and the trail less difficult to follow, I moved into a brisk 4 1/2mph walk – expecting to make up my lost time this way. Given that it’s still morning, I’m of course looking at any rocks in the sun in my path for sunning snakes. I’m not, however, looking down in the shady spots like the little gully crossings, and this almost proved to be the trip’s undoing. Moving a little less carefully than I should, down into a gully I get one of those “internal danger” alerts. You know, that feeling you get right before you do something incredibly silly that results in broken bones or your girlfriend scowling at you for a week… I stop my step, and pull back, to see that I had come within six inches of stepping right on a black-tail rattlesnake. Too cold and too reliant on his camouflage to even rattle, I would’ve certainly had an issue had I stepped on him. Realizing that I should slow down, I brought the pace back to just below 2mph, and there went all of my plans for the hike. By 11am, I had just made it to the first trail intersection, barely even halfway to the Strawhouse Trail, with almost 4 miles to go to the canyon. Without a cloud in the sky at the moment, and already sweating and having drunk a half-liter of water, I sat down, ate a snack, and then turned my happy butt back around. The TC trail is not one to push yourself on, given that it may be a week or more before anyone else tries it this time of year – and they’ll likely stop in the first couple of miles and turn back, as I just did.

That afternoon, I would head back up to Roy’s place ruins, and shoot some time-lapse there, while the last clouds I’d see for the week passed over, and then explored to creek bed to the north of the Telephone Canyon 2 site. (Just follow the old, blocked off road north for a few hundred yards, and then a wonderful creek bed can be hiked east quite a ways.) The last night at Telephone Canyon would be spent shooting some sunset time-lapses and drinking beer.

Tuesday morning, I made a quick drive out of the rest of the Old Ore Rd, southbound, not spending much time to explore, as last year we had done plenty of that here. Of course, you should spend time to check out the large creek bed with lots of Tinaja’s about halfway down the rd. Just notice when you head down into a tiny valley, and then see a large gravel wash to your left. Park in this wash, and then head down the creekbed, a few spots require careful footing to continue down, but reaching the bottom is well worth it, with every other rock having a fossil in it.

Made it back to panther junction and informed them of my plan changes (they were warning me against taking the juniper canyon trail to the south rim, they seem overly cautious, but they’re probably used to less well-prepared travelers. Their warnings of “oh, that’s a 4×4 only road” [of course, I have a great 4×4, and there’s nothing out there that actually requires me to put it in 4-wheel-drive.] were usually found to be a wide, beautiful, fast-driving gravel road.), and then headed on to Juniper Canyon, and made a quick 2-hour hike of the first half of the trail. Almost regretted ditching my plans to backpack up it, but not having to assemble my pack seemed like a good compromise. =) Twisted Shoe is a great campsite well away from all of the others – the kind that can offer peace and quiet even during the crowded winter season. The road leading there, again, rough riding but easy enough for almost any vehicle to make it.

The next day took me to Terlingua Ranch and Terlingua. Neither feeling worth the drive, but the drive through the Terlingua Ranch Road, and the Christmas Mountains worth the let-down. Terlingua can barely lay claim to being a ghost-town as the do, but the cemetery offered some great photo opportunities. It was hot on the Old Maverick road that afternoon, reading 91F ambient (feels like 120 in the sun), but the ability to hold a high speed on this easy road kept the roof temperature pretty low… The Jeep JK is well-known to become a bit of an oven with the black, uninsulated fiberglass freedom top. Out here, it’s better to just roll the windows down than run the A/C – the moving air will do a better job to clear the heat out of the upper reaches than the A/C will.

Finally, camping nearer to civilization at Croton Springs, I took an easy evening hike up the creek beds until some water made it impassible, then hiked the nearby rises until I had just enough light to make it back. A nice dinner and some decent sunset time-lapse rounded out the trip.

Can’t wait to go back! Just wish it wasn’t 600 miles away =(

Here’re a few snapshots, I didn’t take many of these, but I did shoot over 40 gigs of time-lapse and landscape shots. Anything worth keeping will find its way to my photo blog.

Old Ore Rd Near McKinney Springs

Old Ore Rd Near McKinney Springs

Approaching Alto Relex in the McKinney Hills

Approaching Alto Relex in the McKinney Hills

Roys Peak from the Telephone Canyon Trail

Roy's Peak from the Telephone Canyon Trail

Black Tail Rattlesnake

Black Tail Rattlesnake

TC #2 Campsite

TC #2 Campsite

Creekbed NorthEast of TC#2 Campsite

Creekbed NorthEast of TC#2 Campsite

The Jeep Poses in the Sunset

The Jeep Poses in the Sunset

Time-lapse Shooting

Time-lapse Shooting

At 2.7lbs, a Veritable Taj Mahal

At 2.7lbs, a Veritable Taj Mahal

Southbound Old Ore Rd

Southbound Old Ore Rd

Rd. to Juniper Canyon

Rd. to Juniper Canyon

Trail Into Juniper Canyon

Trail Into Juniper Canyon

Campsite at Twisted Shoe

Campsite at Twisted Shoe

Terlingua Ranch Rd.

Terlingua Ranch Rd.

A Stones Throw From Mexico

A Stone's Throw From Mexico

Sunset at Croton Springs

Sunset at Croton Springs