Film Negative Viewer and Converter

4,713

39

7

Introduction: Film Negative Viewer and Converter

About: Professional work in various electrical and mechanical fields, obscure sense of humour and typically willing to help... Currently under contract designing environmental monitoring equipment.

I found an immediate need to be able to quickly view and record old film negatives. I had several hundred to sort through...

I recognize that there are various apps for my smart phone but I was unable to get satisfactory results so this is what I came up with...

I wanted to be able to view them in real time as actual pictures. I can manually sort through the negatives and record only the ones that I want.

I made a crude box for 3D printing to house the electronics.

I also used my LCD TV to view the images

Supplies:

30mm arcade buttons

Raspberry PI 3B better price than Amazon (at time of writing)

RPi Camera

White LEDs

Connector - I used what I had. There are better options available

Connector pins

Screen I used for testing

#4 screws

2-56 screws

Water Clear Acrylic Adhesive

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: The Camera Adapter

I chose to design an enclosed camera adapter that works with a Raspberry Pi camera module to isolate each negative for quick viewing.

I began by taking various measurements of the film negatives as well as the approximate focal length.

I then modelled a simple horn that is to be printed from Black plastic. The focal length I used is 44mm.

The critical measurements were the size of the negative and the mounting holes for the camera.

The Pi camera is mounted to the circuit board with squishy foam. Not ideal. I had to make some shims from card stock to correct this. The images are not perfect rectangles otherwise.

I used ABS which when printed on my machine has a flat to semi flat finish which will reduce reflections which in turn could have a bad influence on the print quality.

Step 2: Light Panel

I tried to make a panel fro printed materials but this had poor performance

I then used a 6mm piece of Lexan with LEDs attached to the edges to make a light panel.

The light panel is fairly critical for optimum photographs.

It needs to have uniform light with no hot spots.

IMPORTANT: Surface imperfections in the

The panel is sized to fit the bottom of the negative viewer, 50mm per side. Mounting holes are marked for secure fitment to the bottom of the viewer, 3.5mm from the edges. The holes are drilled with a step bit to prevent cracking the plastic.

The holes are sized for #4 screws

It needs to have the side away from the film strip frosted. The imperfections in the surface will reflect light to create a uniform lighted panel.

I used increasing grit numbers of sheet sand paper on a smooth surface to get the frosted look. It is important o have no scratches of groves in the surface as this will show as scratches or marks on the desired photograph.

I went gradually from 150 grit to 800 grit.

I had no top hat LEDs so i made my own by touching the surface dome to a belt sander. it is important to not expose the internals, I left at least 1mm of acrylic covering the top.

These were then balanced on the edge of the Lexan and a drop of water thin acrylic adhesive was used to adhere the parts together. The bond is fairly instant and the adhesive fills the imperfections so that the LED appears to be part of the Lexan.

I used 6 per side.

I soldered them in 2 parallel strips of 6 to a 100 Ohm current limiting resistor on the positive side then this has a wire to a connector which attaches to Pin2 (+5V) of the GPIO expansion on a Raspberry Pi board

The negative side has a wire that goes directly to ground via Pin6 on the GPIO expansion.

Step 3: Selector Buttons

There are only 2 operations needed from this device.

The first is to allow the operator to view and record images.

The second is a way to exit the program when done.

I chose to use a green button for record and a red button for exit.

Programming wise I chose to use GPIO 23 and 24. This is wired on the header pins 14, 16,18, and 20. The wires are coded to the switches.

I had a bunch of button boxes left over from a customer build so I used one as a test fixture.

I printed the wrong file which didn't have the cutout for the camera so I had to do mine manually. I have included the proper files in the following step.

Step 4: Protective Case

I modelled this for function over form. The lines are simple and easily printed on most machines.

The case was printed with sparse interior but it still has quality feel. The thickness provides stability and the size is easy to use.

Ideally I would have mounted the viewing horn horizontal, I had hardware limitations which prevented this.

Step 5: Simple Code for Testing

I sampled the code from RaspberryPi.org to get this operational.

"By default, the image resolution is set to the resolution of your monitor. The maximum resolution is 2592×1944 for still photos"

This was used to find the optimal focal length of the camera. I used a needle nose to adjust the lens on the module. A macro lens would be ideal but I couldn't get one delivered in time.

The top of the focus housing is sized for the Raspberry Pi V2 camera. it is held in place with 4 - 2/56 screws.

The following code is what I used for testing...

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()

camera.awb_mode = 'auto'

camera.image_effect = 'negative'

sleep(150)

camera.capture('/home/pi/Desktop/negative.jpg')

camera.stop_preview()

Step 6: Program Code

First open a terminal window and make a new directory, type "mkdir conversions"

Open a python IDE

Enter the following code:

from picamera

import PiCamera
from time import sleep

from gpiozero import Button

button = Button(23)

button1 = Button(24)

camera = PiCamera()

camera.awb_mode = 'auto'

camera.image_effect = 'negative'

camera.start_preview()

image = 1

while True:

try:

if button1.is_pressed:

camera.stop_preview()

break

if button.is_pressed:

camera.capture('/home/pi/conversions/Convertion%03d.jpg' % image)

image += 1

except

KeyboardInterrupt:

camera.stop_preview()

break

Step 7:

Run the code in the IDE

The green button will take a still image of the negative and save it to the internal memory.

The images are saved in the conversions directory.

I moved them to a USB drive then onto my computer for processing in photoshop.

The red button quits the program. A keyboard kit will also do it.

Step 8: Program Tweaks

I have adjusted the program so better image quality saving

from picamera

import PiCamera
from time import sleep from gpiozero

import Button import datetime

import time

#date code for saving images date = datetime.datetime.now().strftime("%d_%H_%M_%S")

# green button

button = Button(23)

# red button

button1 = Button(24)

camera = PiCamera()

# camera image adjustment and viewing on monitor

camera.resolution = (2592, 1944)

camera.awb_mode = 'auto'

camera.image_effect = 'negative'

# display image to monitor

camera.start_preview()

# image saving increment

image = 1

while True:

try:

# red exit button

if button1.is_pressed:

#camera shutdown

camera.stop_preview()

break

# green button capture

if button.is_pressed:

# save image location and formatting

camera.capture('/home/pi/conversions/conversion'+ date + '%03d.jpg' % image)

# image saving increment

image += 1

# keyboard program exit

except KeyboardInterrupt:

#camera shutdown

camera.stop_preview()

break

Raspberry Pi Contest 2020

This is an entry in the
Raspberry Pi Contest 2020

Be the First to Share

    Recommendations

    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    7 Discussions

    1
    wesleyfurr
    wesleyfurr

    1 day ago

    I know someone who took plexiglass and used a spray paint window frosting to re-create a groundglass plate for testing focus on film cameras. Perhaps that would work here and create a smoother surface than the sandpaper for even lighting? As I recall, he would spray on a light layer, give it a moment to dry, then hit it another time or two like that in order for it to get a nice smooth coating.

    0
    Random_Canadian
    Random_Canadian

    Reply 13 hours ago

    I briefly covered this in the light panel section.

    The light panel I describe here is an actual light source for close ups. It is not a backdrop or focus plate.

    Surface imperfections in the Lexan will cause the light to
    diffract and reflect in various ways. having a smooth or clear finish, the surface will not
    glow or light up. The numerous really small scratches will work together
    and create a glow. deep scratches will show up as glowing lines.

    a
    painted surface will be on top a a smooth surface so no light
    diffraction would occur. A chemically altered surface would likely
    introduce all kinds of random and uncontrollable imperfections thereby
    causing a uneven light.

    I hope that this clarifies things a little more.

    0
    The Lightning Stalker
    The Lightning Stalker

    Reply 21 hours ago

    I heard somewhere of using acrylic and frosting it with a solvent.

    0
    wesleyfurr
    wesleyfurr

    Reply 17 hours ago

    That is an interesting idea - do you recall what solvent they used?

    1
    AK Librarian
    AK Librarian

    Question 1 day ago

    I’ve been looking for a good solution for our many old negatives and slides and I really like this. What is the resolution of the copied images with the pi camera?

    1
    Random_Canadian
    Random_Canadian

    Answer 1 day ago

    the information from raspberrypi.org "By default, the image resolution is set to the resolution of your monitor. The maximum resolution is 2592×1944 for still photos"

    I hope that this helps.
    I was recreating snapshots, so my monitor resolution was fine.

    0
    AK Librarian
    AK Librarian

    Reply 1 day ago

    Thanks. I think I’ll go ahead with a hybrid of yours and some others. I have a small light box already and a couple different macro lenses. I’ve been looking at plans using cameras and phone cameras but I also have a pi camera sitting around unused that I hadn’t considered. I love the idea of having a monitor so I can choose the photos as I go rather than scanning and converting everything. Cool solution!