As for the camera, I eventually narrowed it down to either some Bolex H16 model, or the Krasnogorsk-3. Bolex H16s are iconic, and different models have been produced starting as far back as the 1930s. The Krasnogorsk-3 is a Soviet camera built from the 1970s to early 1990s. For $100, I decided to go with a Krasnogorsk off of eBay. It's a solid camera, and I already had a few lenses that match the mount (m42).
In order to develop the film properly, the film needs to be wound onto a special reel that spaces out the film evenly and allows chemicals to flow between the film with consistency. But this project is going to be cheap, so I'm not going to do it properly. I used a bucket, which is not an unpopular choice for this kind of rudimentary development process.
The developer step is especially time sensitive. One of the flaws of my tank is that there is no air escape, so it takes a full minute to pour everything down the pipe and for everything to drain out. This makes timing much more difficult, since I have those gray windows when I'm pouring in and out. I'll have to add an air escape as a straw through the pipe or as a separate tube entirely.
Even though I shot on color film, the cheap process I use only produces a black and white image. I paid around $30 for a set of chemicals that will run a handful of batches.
Here's my first attempt:
Kinograph's parts cost comes in at $1,200. Although that's cheap compared to conventional film digitization options, that's expensive to me. Way more expensive than such a task seems like it should be. I cut the design back, and my final parts cost was less than $95, plus cost of camera, light source, and 3D printing. My results are easily comparable.
- ($212.19) Kinograph is built on a T-Slot aluminum frame. This is super solid, will hold up over time, and looks really nice, but not necessary. Wood or MDF is is cheap and plenty sufficiently sturdy for my needs. This thing isn't going to space, and it's not getting wild loading.
- ($156) Sheet acrylic and the panel holders to mount them to the T-Slot frame also looks nice, but again not necessary.
- ($125) High performance shaft couplings to join motor shafts and reel platters. My design would need to be beefed up in the reel platter department in order to accommodate full sized 35mm reels, but this still seems like overkill if this is going to be more of a DIY project. I won't make any definite claims because my needs in this area were less demanding (tiny 100' 16mm reels), but I'll just leave this here.
- ($33.99) I spend $7 on a functionally identical Arduino copy. Support Arduino if you've got the cash, but you don't have to when on a budget.
- ($19.99) LED diffusion sheet. Just use paper! $20 is mad.
- ($169.85) Power supply and two gearmotors. Again, I didn't build mine to spin a massive 35mm feature-length film, so a fair comparison can't quite be made. Also, this is where my design is completely different, which I'll discuss in a moment.
One of the rollers that the film passes along is sprocketed. It has teeth built in that engage with the perforations in whichever size of film is being scanned (Kinograph can accommodate 35mm, 16mm, and 8mm formats). This engagement spins the roller predictably for any given length of film that passes by it. The roller also has wedges on its edges, arranged such that for each frame of film that passes, so does one wedge. These wedges engage with a rocker switch that, when pushed, would fire the camera shutter to capture an image of the current frame. This mechanism ensures that exactly one image is captured for each frame.
As it turns out, this problem doesn't actually really matter. It's easy to stabilize the images digitally, making any non-drastic inconsistency in frame position a nonproblem. Nonetheless, this was the issue I decided to pursue. I wanted to see if I could get my images totally solid in-camera by driving the film by the perforations rather than by the take-up reel. As of now, my images are about on par with Kinograph in raw capture stabilization.
Here's my design.
For the sprocketed roller, I added a timing pulley on the top so the roller can be driven by a timing belt. This is the major distinction in my design. Instead of the film driving the sprocketed roller, the sprocketed roller drives the film. I used a stepper motor, which can be driven to reach desired positions precisely, given that the load is not overwhelming. I know exactly how much I need to spin the stepper motor to advance exactly one frame (thanks math), so in theory I should be able to advance the film exactly as much as I need to between each frame capture without the need to sense it.
Also note that there is a fifth roller in this design (lower right). This is to maximize engagement with the sprocketed roller. If the film went directly from the sprocketed roller to the take-up real, there would only be about 90 degrees of engagement. The fifth roller pulls the film all the way down around the sprocket to nearly 180 degrees of engagement.
This pulley is smooth because the rate that the take-up reel has to spin for a given rate the sprocket is advancing film is not constant. Initially, the radius of the surface that the film is winding onto on the takeup reel is small, but as film stacks up that radius will increase. A larger radius means the reel will have to rotate slower in order to take up the same amount of film. A simple solution to this problem is to simply not rigidly engage the reel with the motor. Allow the belt to slip, and when the reel needs to move slower, it will just slip on the belt a tiny bit more.
It turns out that as long as there is sufficient tension on both sides of the sprocketed roller, it works great. On the incoming side, that tension is maintained by felt clamps on in the scanning area. This may be damaging to old film, but I don't know. If it is, another option is to create tension by putting a constant torque on the starting reel. Tension on the outgoing side is maintained by a torque in the take-up reel, which is generated by the tension in the rubber band underneath that drives it.
Here's the result of the first test scan:
To fix this, I initially tried sanding down tiny bits of material off of problem teeth, and eventually I tried spiking the teeth with staples. This helped a lot with grip on the film, but it was impossible to place the spikes perfectly consistently, which caused similar problems.
I revised the design, making the nubs a little longer, and I also tried running the print at a higher resolution. Ultimately, it seemed like the Makerbot Replicator 5 just didn't have the resolution to place these tiny spikes perfectly, so I moved on to a higher quality resin based printer, the Stratasys Objet30. This is the yellow print.
The Arduino sketch, provided on the right, is pretty basic as far as stepper motor projects go. It's a simple loop that runs the stepper a set amount, triggers the camera shutter, and repeats. The LCD display shows how many frames have been captured, and there's a reset button to bring that number to zero. The count will persist if the Arduino is powered down; only pushing the reset button zeroes it. There's also a button to pause it, and a knob to adjust the delay between cycles. You would want a higher delay if doing longer exposures or if the write time for the camera's memory card is a limiting factor.