Dynamic External Exposure Control/DIY Light Meter

So, I built this a while back on a challenge to solve the problem of shooting time-lapse videos with dSLRs across sunsets/sunrises, and adjusting exposure while prevent flicker.

Well, it's not perfect at that job, and I had to move on to another project after spending a lot of time on it, but it's a great foundation for many similar projects, I'd say.

It also works great as a DIY photographic light meter (you can just take out the camera triggering functions, or leave them in and make a simple change to use it to trigger a single exposure instead of many. Think of shooting pinhole photography at f/200, and coming up with a 2 hour, 35 minute, 22 second exposure. It will trigger and time the exposure in bulb mode.)

Basically, it was designed to control camera exposure in 1/100 EV steps instead of the 1/6, 1/4, 1/3 or whole step metering built into most dSLRs.

The interface is via an LCD and 5 momentary switches

The extra hardware required is:

1x TSL230R chip from Taos 1x 4n28 opto-coupler (for camera isolation) 1x 0.1uF capacitor 1x 16x2 parallel LCD 5x SPST momentary switches

Some basic features:

  • Exposure time and evaluation (you program in f/stop, iso, ev adjustments) in measurements as small as 1/100 EV.
  • Camera intervalometer
  • Exposure measurements once per second
  • Display of both nearest fractional exposure time (1/100s, 2", so on) and actual non-rounded exposure time in mS (e.g.: 132 ms)
  • Controls camera exposure timing in 1ms increments (using bulb mode on camera and remote cable)
  • "Latching" feature -- if enabled only move exposure time up or down, never the other way
  • Maximum EV step change setting - prevent interference (animals, people, etc.) from causing out-of-bounds exposures on individual frames.
  • Display of all possible luminance values
  • Auto-scaling for different light levels
  • Multiple sensitivity adjustments

I didn't get a chance to fully document the use of it, and how to operate it properly in numerous different environments, but all of the code, some videos, and more discussion are available here:


Any feedback is greatly appreciated!


I've not gotten a chance to view the links just yet, but this area is interesting to me, as a gear-head and a photographer. When I get home from the office, I'll take a closer look.

A related thing that occurred to me, from reading your summary.

I'd like a light-metering system that remains live during long exposures, and reacts to changes in light levels. For example, if you estimate a 30sec exposure from the light meter reading at shutter-open time, but the overall light level drops or rises during the exposure, your exposure is usually still committed to the 30sec. I'd like a meter that would perform a light/time integration, and close the shutter earlier or later as required.

Halley - that’s do-able, you should be able to stop the MsTimer2 during exposure without affecting the exposure (the on timer trigger function closes the shutter, effectively) and set a new timer after first eliminating the amount of time you have already exposed from your calculation.

And, you’re right - that would make a perfect addition to any pinhole or super-long exposure shot. It’s specifically for that kind of thing that I placed no limit (other than (float) size) on the f/stop.

… of course, I left out the fancy rounding the camera manufacturers do in ISO and f/stop calculations, and just used the pure logarithmic implementation. So, some of the numbers seem weird, but at least they’re “true” =)


(You do understand that below a certain physical size, the aperture will be refracting diffracting almost as much as it passes straight through, right? That's why pinhole pictures get foggy, and why program modes sometimes stop at f/16 when the lens could do f/22.)

Update: Er, have no idea why my hands typed 'refracting' when my brain said to type 'diffracting.'

Yes, having built many, many pinhole cameras over the years - I'm familiar with diffraction (not refraction =) You can even find a video on vimeo where I pointed out the cause of flicker in camera-driven apertures (vs. manual apertures) for time-lapse was over-shooting the aperture setting rather than under-shooting via a diffraction example.

As a rule, it's considered largely part of the "aesthetic effect", and f/stop ratios greater than 100 are common. I have one camera floating around somewhere that has f/280 and a 9" focal length. It took this photo:

I think that was about an 8-hour exposure under 500W of hot lights onto 3000ISO polaroid. The flower was toasty-crittered by the end of the day.

Here's one at f/98, IIRC, on 35mm:

Although, I can't recall the name of the scientist, but I believe there is a formula wherein one can create a photo which is as sharp as a lens photo, but having nearly infinite depth-of-field. I've seen some of the photos taken by the guy, in pinhole, and they, well, rock. I'd have to look it up in the books when I get home.

The cats over at f295.org would have more to say - you can find some quite sharp examples there.


This is awesome. I'm adding it to my project list. I love timelapse, and good timelapse is hard to do nicely.