Mark Fickett Art: Shutter Action


This is a slow-motion video of a Nikon D5100 digital SLR's shutter action. You are looking at the front of a camera with no lens attached, seeing the mirror, shutter, and image sensor. (See also the 1024x791 QuickTime .mov (20MB), larger useful if you wish to step through frames one by one; and note the embedded video is available HD.)

The frames are at 1ms intervals, replayed at 24fps, for 2.4% of realtime speed. The subject camera is making a 1/60th second exposure; the top edge of the sensor is visible from approximately 80ms to 96ms, for 16ms — very close to expected 16⅔ms.

The D7000 recording the images was shooting at 1/640th s, f/9.0, ISO 400, at 150mm.

Prior Art

I was inspired by this shutter release animation by Marianne Oelund, and wanted to make my own. Hers is sharper and smoother and has more precise timing, also Jeffrey Friedl adds informative overlays explaining the different parts in motion.


To create my image sequence, I cannibalized a pair of cheap off-brand Nikon wired remotes and hooked them up to an Arduino. I commandeering my brother's D7000 to take the pictures (and him, to help with setup), using my own camera as the subject (with no lens attached, so the shutter was visible).


The final image sequence was shot outside, to use sunlight as the illumination.

Luckily nobody arrested us for doing weird things with wires in the park!

cameras in park with Matthew and Taylor

For development and the first attempt, we set up the cameras on a table with artificial light, which was not bright enough. (In the video below, you can see the shutter action in realtime.)

As an intermediate step we tried sunlight from the kitchen window, but the sun moved before the sequence finished (about 16 minutes to shoot).

cameras, arduino, and laptop in kitchen

Setup Details

In schematic:

schematic of circuit and camera setup

I used an opto-isolater (wikipedia; from Sparkfun) to connect the remote cables to an Arduino. (Circuit detail view.) breadboard circuit with remote cables

The Arduino triggers the subject camera, waits some number of milliseconds, and then triggers the camera taking the pictures; and repeats for a range of delays (including triggering the subject after the recorder). The code is available on github (and is almost trivial a 74 lines).

remote cord with connections and label

The remote cable, with the camera plug and the wire connections. Connect red or yellow to white to focus; connect all three to trigger an exposure. (See also's pinout diagrams of many cameras' wired remotes, including this.)

remote ends, modified

The remotes' ends were actually too big to fit my D5100 or my brother's D7000 (which I suppose is appropriate to the $4 price). I found that the remote still functioned correctly with the metal shield removed (though on the right one I only removed half the shield).

2011-07-23 / 184 frames taken at a 1ms interval, replayed at 24fps

In: Arduino