Film Advancement - moving the film


Film Advancement

A capstan seems like the most reliable way to go. It’s easier to control a single, steady motor and keep track of its rotation than to use a direct-drive motor at the take-up reel, which is how I was doing it in version 1.

In other words, a motor near the gate that turns at a constant speed to advance the film. And then a separate motor at the take-up reel (see Take-Up Motors thread).

Keeping track of rotation would allow me to know when to take a photograph. This can be achieve with either a stepper motor (see this project) or by combining a regular motor with a rotary encoder. The stepper would seem to be the cheaper route and have less points of failure than a DC motor + rotary encoder.

My concern with a stepper is that over time there could be what I’m calling “frame float.” Typically when you use a stepper motor, you specify the degrees of rotation you would like it to turn each time it is activated. If 1 frame = 15 degrees (making that up for now), then every time I’ve turned 15 degrees, I have a new frame. Easy. However, if it’s mathematically 14.87 degrees for a truly perfect single frame advancement, then that 0.13 degree difference will add up with every frame that goes by.

Eventually, I’ll see the frame start to float to the left or right. this can affect the frame extraction software, which works best when it can assume the sprocket holes will always appear in the same place.

For this reason, I wonder if I will also need some feedback in the film path that can assure me I’m always capturing at the EXACT right moment.

Many have suggested a laser, or photo-interrupter. But this doesn’t work so well with clear celluloid. Any ideas on how to get around that could bring the laser option back into play.

Another thought was a really geared down (or up) rotary encoder. A small roller that is directly attached to a large wheel underneath the main deck plate. That large plate will exaggerate the smallest of turns into a long radial arc that can be monitored by optical encoders, switches, lasers, etc. Perhaps that will increase the accuracy to a rate that is acceptable over the time it takes to capture one full reel of film. This is what I’m thinking of pursuing at the moment.

Summary - a capstan on the right (exit) side of the gate would pull film through at a constant speed. Improvements might include trying a dual capstan (one before and one after the gate), and pinch rollers to maintain reliable constant speed and tension.

Just for fun, here’s a picture of a reel-to-reel tape head that uses dual pinch rollers at the “gate.”


One thought might be to use a laser/photocell to reflect off the film base at the sprocket location. Triggering in LOSS of refection would give the location of the sprocket hole.

Another thought would be to emulate the way the motion correction software works and use a photocell looking through the image to find the frame line. Combining this with the scheme to advance a given distance, the lack of a frame line would not be a problem, but the first time you find one it could correct the position of your pull-down drive. (Perhaps TWO photocells one frame line apart would be more resistant to geometric patterns in a given image?)

{just random thoughts on the problem}

Sprocket Registration

Another option maybe to have a dumbed down sensor somewhere before the primary capture sensor which a.) exists at a known distance before the primary sensor. b.) continually scans the film c.) uses opencv to look for the edge of an exposure frame. When frame is picked up by this sensor and boundaries recognized, code tells it exactly when to trigger the primary scanner function based on the known distance between the two sensors and the known rotation of the motors.

Off the top of my head a potential problem with this could be frames that appear unexposed with not enough density to trigger the signal. Potential solution to this could be a pre-scan step that runs x amount of the current roll of film through the mechanism to baseline the frame positioning to how it is currently loaded on the machine and use that constant for the loaded roll.

Sprocket Registration

I like the idea of the reflective cell. Have you tried using one? Wonder what kind of conditions they need to work well.

Found these with a quick Google search:

Honeywell Sensing and Control Part Number HLC1395-001

Fairchild QRD1114 Reflective Object Sensor

Honeywell Sensing and ControlPart Number HOA1405-001

And then there’s the [6 pages of results at Digi-Key][1].

Anyone know what factors I should consider when buying one? Happy to do tests on multiple units too.

Sprocket Registration

@cmacd I’m not sure I quite understand the second suggestion, though. Could you draw a quick sketch? Thanks!!

@throwcomputer Sounds like an interesting approach if I understand it correctly. When you say dumbed down, but also does CV - does that mean a low-res camera, like a webcam?

OpenCV can be processor heavy, especially when running in real-time and definitely when done at higher speeds. And you’re right about the frame lines becoming an issue when there are fade-to-black areas, night scenes, title cards, etc. Good call there.

To your last point, re:

Not sure I get that one. Could you try explaining again? Sounds interesting also…

Sprocket Registration

PS - I’m copying links to these posts over to the Sprocket Registration thread since it seems that’s what this is about, primarily.


OK, About the suggestion to use a photocell or two to look at the frame line, I guess the easiest way to think if it might be to consider the reading of the sound track on a conventional projector. The Sound head looks at the light and dark parts of the track and generates a signal resembling the analog sound waveform.

Imagine moving the sound head over into the image area. You would get a variable waveform corresponding to the image, but a square Pulse corresponding to the frame line. Much wider and more predictable from 35mm film of course where the frame lines are HUGE.

Process that with some virtual circuitry inspired by a television sync separator (the waveform will look somewhat like a a TV sync Pulse) and you have your frame line detector. quite apart from counting perforations. The slight complication is that the frame line could either be Black or White, which would result in detecting either the top or the bottom of the frame line. But perfection may not be needed if the stabilisation software has multiple reference points to work on.

I am just doing wild eyed thinking out loud here of course.


I NEVER would have thought of that. It makes sense though, especially if you know that the film is moving at a constant speed - you could increase accuracy in problem areas by blindly relying on the frequency of the average frame find. That way fades to black, etc, could still be captured reliably. I’ll have the think on this one…


I have an old Bell & Howell 16mm projector. I imagined if I replaced the main motor with a slower geared servo motor it could become a film advancement mechanism. It really has mostly everything, two reels, gate etc. Just saying. The lamp could be replaced by a quality led and diffuser. The lens could be replaced by the camera. I know, easier said than done.


Hi Everyone - I wanted to share my 35mm scanner with the Kinograph community. The kinograph project inspired me to do this.

I use a Moviola for my film transport and a Red Epic Dragon for capture via Tokina 100mm macro. Built a trigger box for the RED + Arduino Debouncer for accurate triggering. Also made custom switch triggered by the sound head shaft.

***I’m really interested in the software sound decoding. If anyone can point me in the right direction that would be amazing.

If you have any questions or would like more detailed pictures of my setup let me know.

Here’s the scanner in action:
Password: 35mm

Here’s my first test scan with the A.I trailer (not stabilized)
Note: It’s normal for this trailer to go from 4 perfs 4:3 to 1:85 on FX shots because they did the FX @2K
Password: 35mm


Very nice, Robino. When the RED One first came out, I approached RED with a similar idea, but they weren’t interested, and I didn’t have the engeneering know-how to do it on my own. Well done!

As to registering the sprocket holes; remember that it is not always possible to recognize where a frame starts, as the edges are often black. There can also be copied in instabilities and gate size changes.
As to having a fixed rotation length - remember that film does shrink, and often unevenly (also because a roll of film can consist of various types and batches of film stock).
As to registering the sprocket holes visually, you might want to look into an IR sensor. The Scanity has a seperate camera that scans just the sprocket holes with infrared and then calculates the correct positioning on the fly.
It is important to take into account that sprocket holes can be damages, torn or even non existent.

For stabilisation afterwards it is important to scan as much of the frame as possible, preferably parts of the previous and following picture and as much of the sprocket holes as possible.


Thanks for all the information, very interesting idea to have a separate camera for the tracking.


I like this…while I’m not up to speed technically quite yet, couldn’t we build something that counts sprocket holes that isn’t a sprocket? I too worry about film shrink and this not being “quite right” with certain films…and not wanting to do harm to them.

That said, I think you could easily enough use a photocell or laser to simply count each hole as it goes by in the floating gate, and in the same manner, tell the flash and shutter to fire. Of course, this idea won’t even work if the film is missing sprocket holes. So maybe a frame counter?

Or am I crazy? Or was this already suggested above and I missed it? :smile:

Cheers all!



Please excuse my ignorance - I am a digital film maker and have never worked with film, but aren’t you reinventing the wheel?
Hasn’t the problem been solved by projectors?
Otherwise the image would creep up or down the wall as the movie progressed.
So, why don’t you just repeat their mechanics - with a digital mechanism instead of a mechanical one.

That link shows how an old school projector moves the film based on the holes, therefore every frame is always centred.
Instead of the purely mechanical process you could use two servos, one to insert a pin into the hole, and the other to move it along one or two holes distance exactly every time.
Once you have the amplitude of distance between the leading edge of each hole, the image should stay in the same place of every picture.

Or have I made some ignorant assumptions?


Ps - this is a great project, please keep up the great work, our global history and culture needs it.


@robinojones looks great! Now if only we could get Moviolas for everyone! Personally I’d be thrilled just to see one.

@Martin_Weiss I did some testing while back with a RED on the Kinograph prototype and it worked great. We hacked the remote trigger cable and used its stop-motion features to create individual files for each frame. The software RED uses picked it up great and assembled the video for us no problem. Ideally, the Kinograph design would be able to take a variety of capture camera options so that it could be more flexible - and more affordable since you wouldn’t have to buy a whole new camera system if you already have one that works.

As @EMW points out, the mechanics are the same. Unfortunately, @EMW, manufacturing the moving parts necessary to maintain accurate intermittent motion is difficult and expensive. At least, that’s what my research has shown. Also, the claw or pin mechanism is considered by many to be dangerous when scanning old film. Although, you are correct in observing that projectors do a perfectly find job moving film. Many people have hacked projectors into scanners and it’s a very viable option if you have the know-how to hack one yourself.

Loving these forums.


Another way of transporting. When I was a programmer of mainframes (long, long ago) we worked with tape units. While mounting the tape was sucked into those long shafts bij underpressure. The tape had a blistertape on it to indicate the start of the readable/writeable section. The tape stayed in the shafts. There were sensors in the shaft to ensure that the loop was correct all the time. These sensors controlled the spindles. Speeds of several meters per second were possible.


Man, those machines are beautiful.


A Geneva Drive driving the wheels with pins (maybe less dangerous)?
But I think it would be fixed to 1 type of film…
And there is maybe no garantee you need no digital tracking later.
And the Geneva Drive might wear out too quickly with 3D prints.
And but… :wink:

EDIT: OTOH it could solve the contrast problem with trigger time detection, as the Geneva Drive may be easier to mark for a photo cell?


Embedding a magnet and using a hall effect sensor is way more reliable than using optical triggers.


i would like to know some specifications about motors which i can use. thank you