16mm Film to HD Transfer System

This page is not nearly finished. What follows is a brain-dump, to be improved later…

I run the film facilities at Cooper Union Art School, where we teach 16mm and sometimes Super8. I spent a few years slowly building our current film transfer system, which does sharp 1080p transfers of 16mm reversal, prints, or negatives. My solution is based on parts we had available, some purchases from eBay and elsewhere, and my own history using the MAX visual programming environment to make my artwork.

I don’t sell these machines, and this page is not a step-by-step tutorial. I’m sharing my design because it took a long time and there were many false starts, so maybe I can shorten the learning curve for somebody else.

History and Precedents

Transferring film to digital media is hard, because film has tremendous latitude, the 24fps frame-rate is not universally supported by video cameras, and film grain doesn’t take well to the high image compression used by most video cameras. Professional films scanners (Kinetta, Lasergraphics, etc) are amazing, but cheap handy people have other options:

  • Shooting a projected image off a screen or mirror-box: Forget it. Totally ugly.
  • Moviestuff.tv machines like the Sniper: The quality is marginal. There is a lot of chromatic aberration (purple fringes) in the lenses and the cameras are noisy, so underexposed shots get video noise added to their film grain. It’s fine for home movies, but not what you want for your art.
  • A JK Optical Printer with a DSLR attached: This method gets you greater-than-HD resolution, only limited by your lens. But it requires a working JK (rare), it’s slow (<1 fps) and it will destroy your DSLR’s shutter relatively quickly. Mirrorless cameras have shutters too, so they won’t last any longer, unless yours has an electronic shutter mode (which often produces inferior images).
  • Totally Custom: That’s what I did…

Our Current System

A (mirrorless) Panasonic GH2 camera body with macro bellows + enlarger lens is focused on the filed-out gate of an Eiki slotload projector. The projector has been modified: Shutter removed, sound-reader removed from film path, motor replaced with gear-head DC one, lamp replaced with RGB LED, power-supply replaced…

An Arduino microcontroller inside the projector communicates with a nearby computer via USB. The Arduino controls the motor speed and direction, senses when the mechanism has advanced each film frame, and dims the LEDs (via a high-speed PWM controller). When a frame is held in the gate, the LEDs are on, but when film is in transit they turn off. So when the motor is running the LEDs blink once per frame. (This detail is crucial.)

The computer is running a custom app (created with MAX) that communicates with the Arduino and receives a live video feed from the camera. The camera, like many recent mirrorless cams, outputs a 1080p signal via HDMI which we feed through a Matrox capture box and display on the computer screen for focus and framing. The software is also checking the brightness of the sprocket hole (revealed by the filed-out gate).

We dialed in a custom WB setting on the cam after tuning the LED control code, so if you pull the software RGB sliders up together you’ll get a pretty balanced grayscale. We use the camera’s picture modes to make the most of the 8bit HDMI signal: A low-contrast profile for reversal and a high-contrast profile for neg.

When you begin recording, the projector motor turns on and the software captures the first illuminated video frame to disk then waits for the next one…. It’s a slow process (about 4fps) but way faster than the JK (<1fps) and doesn’t kill any DSLR shutters. After the capture is done, all the uncompressed frames are rendered out to your choice of codec (we use Prores 422) with optional image processing like curves, color-inversion, image-flipping, pillar-boxing, etc.

The filed-out gate can cover Super16 or the soundtrack of prints, which we can translate to sound via AEO-Light.

100ft capture takes about 15min, then another 10ish to render.

The LED is a 40W RGB unit with multiple dies under a single lens. It requires about 24v and we run it at way less than 40W. It’s similar to this one: http://www.mouser.com/ProductDetail/LED-Engin/LZC-83MC00/?qs=sGAEpiMZZMtPzP3zsh8uzJaSIyo3FeiS We can keep the enlarger lens at f5.6 or f8 for 90% of transfers, with the option to open up if we run out of light. (The camera stays at its lowest ISO.)

We dim the LED channels with 3 hacked driver boards that were originally intended for little MR16 LED reflector bulbs, based on the Powtech PT4115 chip. They keep constant-current and have a PWM input, which we drive with the Arduino at a faster-than-usual PWM frequency to avoid flicker. (I originally tried current-based dimming but there’s not enough accuracy in the low range for accurate color mixing.)


  • It’s home-made, so not easy to replicate with common materials.
  • It’s slow.  If the software sees signs of a dropped frame, it will stop the projector and warn the user, but there’s no way to know for sure. I’ve been using it for several years at about 4.15fps without many problems. (max speed discovered via trial and error)
  • It requires a specific camera shutter speed to eliminate PWM flicker.
  • The GH2 is not the ideal camera (limited dynamic range makes reversal transfers too contrasty, needed firmware hacking to fix HDMI problems, needs to be recording to SD card to enable high-quality HDMI outs, even though we don’t use the SD card recordings!) More recent cameras like the GH3 would be fine.
  • The software is somewhat fragile because MAX is inefficient. (We use a fast SSD for captures but if you try to multitask during capture you’ll get dropped frames.)
  • Captures are limited to 8bit, due to several factors: All inexpensive cameras with HDMI live feeds were 8bit a few years ago when I built it. More importantly, Max can’t capture higher than 8bit anyway!


If you want to make something like this, consider what parts you have available and work within those limits. I think the most important projector considerations are slot-loading, gentle film handling, and enough room in the lens area to center your enlarger lens without hitting the chassis. The Eiki’s removable lens mount was a huge help! Secondary factors would include belt-drive for easy motor swap, and enough room in the lamphouse for the LED heatsink. Eiki slot-loaders meet these criterion, and the back door swings open for easy access too!


HD telecine magenta frame w optical sound

terribly magenta print, transferred with the sound track

HD telecine magenta frame color corrected

After some serious curves in Premiere, it looks much better.

Cooper HD Telecine 1 (wide shot with cover closed) Cooper HD Telecine 2 (wide shot with cover open) Cooper HD Telecine 3 (lamp close-up) Cooper HD Telecine 4 (internals) Cooper HD Telecine 5 (filed out pressure plate) Cooper HD Telecine 6 (screenshot) Cooper HD Telecine 7 (sample frame) HD transfer capture settings HD transfer frame sensor window HD transfer Render Settings