Kodak Slide Projector Scanner

Use a Kodak projector and DSLR camera to automate digitizing slide photography

Public Chat
Similar projects worth following
Take an old Kodak slide projector, a digital camera, some electronic parts and connect it all up to a microcontroller to create a high throughput digital slide scanner.


Currently I have removed all necessary components not needed from the projector, and have wired in some extra electric circuitry power the LED that will be used for backlighting the slides. See the log below for more updates. 


I have taken on the task of digitizing a large collection of slide photography. This is my father’s collection which comprises somewhere around 200,000 slides mostly of train photos over a span of 50+ years.

Main Idea

I was looking around on how to digitize this many photos and getting them done in bulk from a service ended up being too expensive. Other options were to us a flatbed scanner, but this would take a long time and the 16-bit RGB image files would take up a huge amount of file space. Using a DSLR camera to digitize the slides would be an efficient method because shooting photos can be done very fast, and the RAW camera images are space efficient.

So taking photos of the slides will be the way to go, but how to automate the entire process? A collection of hundreds of thousands of slides is no small talk. I would need to make sure all manual steps per side are fully automated.

Slides are designed to be projected on to a screen with a slide projector. These projector can be loaded with many slides and will step through a set of slides electronically. What I will be doing is to modify one of these projectors to project the image into a digital camera to digitize the slide. The way I will be automating this process is to use an Arduino microcontroller to control both the projector and digital camera functionality.

State Machine

Below is how the internal workings of the projector scanner function as a state machine.

Existing Scanners

By doing some research, I found a couple DIY slide scanner projects and companies modifying old projectors to do such a task. There is very little information out there about converting a slide projector into a scanner so I’ll be figuring this one out on my own as I build it.

One great example of a professionally built conversion is the SlideSnap Pro. For anyone not wanting to build a DIY scanning solution, this pre-built one is likely your best option.

Scanner specifics

  • Very high rated CRI LED slide backlighting for good color reproduction.
  • +5000K color temperature.
  • Camera focusing triggering option.
  • Adjustable speed/interval for each step per-slide.
  • 200,000 slides * ~1-2sec = 55-110 hours = 2.3 to 4.6 days running non-stop.
  • 18mb RAW * 200,000 slides = 3.6 TB (terabyte) of image data
  • Electronically controlled air compressor to clean dust from slides.
  • Interrupt driven stepping. (Only take a photo once a slide is loaded)

Final Thoughts

At this point, I don’t know if it’ll be necessary to focus the camera each slide. It might ended up not being a reliable workflow.  

The mechanical speed of the projector will be the main limiting factor as taking the photo will be almost instant. After the projector loades a slide, a controlled delay will be necessary for the slide to stop moving due to mechanical vibrations.

Likely much of this will be changing as I built this. I’ll try and keep things as descriptive and informative as possible in case anyone in the future wants to build one of these.


Prototyping Arduino electronics

JPEG Image - 1.37 MB - 05/29/2018 at 20:24


  • 1 × kodak projector We only need it for the mechanics. Don’t need the lens or light in it.
  • 1 × Canon DSLR camera Full-frame or crop. Really we can use any camera and lens combo.
  • 1 × Canon macro lens Macro lens should match the camera crop to be 1:1 ratio from life-size projected to the sensor
  • 1 × Arduino For this project I’ll be using the UNO, but you could use whatever one you want.
  • 1 × LCD button shield An arduino compatible shield to cut down on making custom boards. This board is how we will be controlling the arduino.

View all 10 components

  • First full test

    Bryan Howard07/01/2018 at 16:06 0 comments

    Yesterday I was able to do my first working test and you can see the results in the video below:

    After running it for a while, I realized that the transformer was getting very hot. I took out the original cylindrical spinning fan thinking it wasn’t necessary anymore and it looks like I was wrong.  Because I’ve now used that area where the fan was for power input, I’ll have to install a new fan in another location. I’ll likely use a PC computer fan to keep things cool.

    Another thing noticed was that the mechanical arm that drops the slide into place seems to be sticking before it bottoms out. The result is the slide isn’t in proper position when the photo is taken. To fix this, I’ll glue a small chunk of steel weight the leaver and let gravity do it’s thing.

    I’m still waiting for a new lens for the LED, but I have now 2 of the original glass lens I can use in the meantime. I’m also using 2 transparent diffuser sheets to even out the back lighting. I’m hoping that with a better lens, I’ll only need the one.

    Lastly, the inside of this thing is a huge mess of wires and ac-dc, dc-dc power converters. I’m going to finally replace all that with a small custom PCB that rectifies and steps down the voltage directly off the many coils on the original transformer.

  • Lighting with LED

    Bryan Howard06/17/2018 at 06:08 0 comments

    I used the power connection and switch from a dead computer power supply to convert the projectors black plastic vent/remote plug area to the power input area.

    Behind that, I connected up a laptop power charger that outputs 19v DC 3amp and connects from AC plug. This laptop charger will be my source for clean DC power that will drive the LED driver and later drive the Arduino microcontroller after being stepped down to 5v.

    The LED needs some form of active cooling to keep it from burning up. I’m using a copper heatsink from a an old computer GPU and a 24v fan. The LED has thermal paste where it contacts the copper heatsink and is held in place with some bits of clear plastic screwed into place. The fan is a bit overkill in size but because I’m powering it from the same 14v-15v LED driver it’ll spin slow and not add to the vibrations. I have the fan in the pull config that way it'll  not blow dust out of the scanner. 

    The LED driver is an adjustable CC CV step down buck converter. On it’s input is around 19v and I’ll be bringing it down to between 14v-15v to drive the LED.

    I’ve decided to disassemble the light assembly from the projector and keep only the glass lens.  

    Doing some initial tests you can see that the LED produces a very uniform beam.  You can see how the light beam shape changes as the distance from the LED to the lens changes.

    I have some plastic diffuser sheets out of a dead computer LCD screen I might do some tests with to get an even more consistent back lighting, but It might not be necessary and could possibly reduce the light quality if it absorbs specific wavelengths of light. More testing will be necessary.

    Next thing on my list of things to do will be trying to isolate the AC motor vibrations and making some kind of housing to hold the LED module and glass lens in place.

  • Motor and mechanism assembly installed and functioning

    Bryan Howard06/11/2018 at 02:14 0 comments

    After ripping out everything off the plastic frame, it's time to start installing the necessary components and testing that they work. 

    Rewiring the motor, circuit board and mechanical assembly together, I found that the original grease was solidifying and sticking causing the slide loading mechanism to jam. I had to clean and decrease the assembly and than applied some silicone oil and Teflon grease to get it running smooth again.

    One thing I’ve realized after powering it was how much vibration the AC motor makes. The AC motor sits on rubber grommets and possibly over time, they’ve hardened. Maybe not. But the vibrations are enough that is could be visible when taking the side photo. I have a sheet of Sorbothane material that I plan on replacing those grommets with and hopefully that'll reduce the vibrations enough.

    Once I wire in an ICE power cord and switch, I’ll wire in the relay’s that’ll be driving the mechanical actions. I'll be using relays to drive the projector because I want to keep the circuits of the DSLR camera, microcontroller, and projector isolated. The projector’s mechanical slide loading mechanism is slow enough that the slight delay from the relays will not be an issue. 

    The relay board I’m using in particular uses 4x DSRD-05VDC non-latching relays that'll runs from 5V. This board also has optocoupler between the logic and is a nice small package.

    I’m still waiting on an LED power driver board so installing that will take some time. The plan for the LED is to mount it onto the backside of a CPU heatsink with a small fan to keep it cool.

    The LCD board has some push buttons and the Hitachi HD44780 LCD and packaged as an Arduino shield that snaps into the Arduino micro-controller below it.

    Originally I was making a custom board to drive the camera, projector, led driver, etc.. but I'm scrapping that because rewiring the projector is difficult enough and we can use off the shelf circuit boards that will do everything needed.  This custom board is great, because it's created exactly for this projector and camera's purpose, but would be difficult and time consuming for someone else to reproduce this project. 

  • Disassembly

    Bryan Howard06/10/2018 at 04:57 0 comments

    I’ll keep this post light on text and more on visuals.

    Time to open up the projector but we'll need a bigger cleaner table!

    That's better. This space will do. 

    This is the inside of the projector with the front focusing mechanism taken out.

    We're only going to need a couple parts, so it's best to tear down the projector to it's shell.

    We'll keep the lamp module, but remove the mirror and the lamp. We will be replacing it with an LED  and shine it directly into magnifying lens.

    The mechanism assembly is used to load slides and advance the carousel. It'll need some cleaning up!

    The motor drives the mechanism assembly and powers other components. This part will be necessary and we'll tap into it to power the microcontroller, and LED driver. 

    The circuit board looks simple and sparse. All we need is to power forward and reverse on the mechanism assembly's solenoid, so we might not need it at all.

  • Sacrificial Projector and air compressor thoughts

    Bryan Howard06/01/2018 at 18:29 0 comments

    The projector that I will be sacrificing has arrived and It is the Kodak Ektagraphic III AM projector. This one in particular has a bad focusing motor (won’t matter) and mechanically loads slides flawlessly. The slide collection is contained in both Kodak carousels and metal slide file boxes so I will use both carousels and stack loaders to churn through them.

    An idea I might look into implementing is an electronically controlled air compression system to blow off dust for the currently loaded slide. This would involve a small air tank compression system and an electronically actuated compressor head driven by the microcontroller. With this setup loaded slides get cleaned with compressed air just before the photo gets taken.

    I will get the rest of the system working and leave this as a possible addition after.

  • Miniaturizing electronics and more ideas

    Bryan Howard05/31/2018 at 04:33 0 comments

    Today I have miniaturized the electronics originally running on an Arduino mega onto an Arduino pro micro. I would like to use something small like the pro micro or mini in the final build instead of full size arduinos and shields. Looking at the necessary number of input and outputs the scanner needs, the pro micro should do the job fine.

    I’m also looking into the idea of using interrupts to delay triggering the shooting of the photo.

    The idea would be that once the slide is loaded, there will be a short delay to settle any mechanical vibrations before taking the photo. This should work out much better than waiting for a period of time and making the assumption that the projector is ready for a photo to be taken.

    Another added benefit of this will be that I’ll know if a slide is loaded or not. The system could go into standby mode as it waits for more slides to be loaded only taking a photo when an actual slide is in position.

    Other than that, I am mostly waiting for various hardware to arrive for this project so in the meantime, I’ve been writing arduino code and prototyping the electronics.

    If you’ve got any ideas that this project might benefit from, please post your ideas!

View all 6 project logs

Enjoy this project?



Donald wrote 02/21/2022 at 11:30 point

Interested to find out how the vibration reduction by replacing grommets went.

  Are you sure? yes | no

chris jefferies wrote 11/09/2021 at 09:27 point

Please.  What is your final lens and/or diffuser arrangement.  I'm looking at your setup and note that you have  a big square cut into the body of the projector to move the 100mm Canon lens inside the projector and nearer to the slide and/or nearer to the internal lens.  It also looks like the internal lens is in place.

Also are you using the white plastic as a diffuser to create an image which is what the camera is taking?  I thought the idea was to just use lenses.

I did a project a few years ago in which I just projected the image on a screen and used arduino with 2x relays to time the projector advance and a camera shutter.  It worked great but the images we so-so; not terrible but not great.

Now I've tried a couple of arrangements following your approach, with the internal lens and without.  I added a piece of white paper on the mirror.  But the biggest problem is I can't get my canon t5i and canon 100mm EF f2.8 to find a clear image.  It just doesn't seem to focus until I move the camera more than a foot away, and by then the image way too small.

Also wondering if my camera/lens just isn't capable... 

Any tips appreciated.  Thanks.

  Are you sure? yes | no

Yann wrote 01/13/2021 at 10:05 point

Thank you so much for sharing your very inspirational project!

I did my own one during last Christmas holidays which is now almost complete.
My hardware is based on a Kodak Carousel S-AV 2010 (80 slides at once) and a Canon D60 with a 100mm macro lens. 
I had some trouble to make the Arduino code as it was my first experience with a state machine 😊
My light source is a 10W LED spot @ 4’000 Kelvin and 98 CRI (which I believe is quite important)
I decided to setup a Linux computer (first experience for me)  for this particular project as I am a bit feed up with the Microsoft World (sorry for the lovers!). It chose the Ubuntu platform and I am very impressed with the associated software resources I could easily find.

Entangle: excellent software to connect my D60 to the computer and upload all the pictures as well as to check the Camera body alignment with the Slide Projector.

Darktable: which will be my processing software to generate .jpg pictures from the RAW files but I still have to learn everything about it 😉
(If some people have some experience with Darktable I would love to learn from them)

First results are quite satisfying, but I am a bit confused about one point:
- What would be the best side of the slide to shoot? (Emulsion side vs glossy side)
- Does it make any difference in term of image quality? (Beside an image inversion)

  Are you sure? yes | no

FORART fe wrote 09/29/2020 at 11:30 point

Hi there, very cool project !

It would be also great to establish some kind of collaboration with other DIY-digitizers projects:

Hope that helps/inspires.

  Are you sure? yes | no

dave wrote 01/11/2020 at 16:03 point

Thanks for sharing your work. I had recently picked up film photography after a 20-year hiatus. Found some slides at an estate sale, then later a primitive digital slide scanner for $5. Tedious to use even though it worked ok. But then remembered the 2 old slide projectors I also picked up recently and how I might set them up for scanning. Searched the net and found your project. Also last year in my job designed and built a laser material processing system controlled by an arduino. So looking at your project photos can really appreciate the level of work you have put into this, including the cosmetic appearance of your working system.

  Are you sure? yes | no

Bob Dunlop wrote 05/30/2019 at 05:50 point

And I thought my 20K slides were a project! I've been contemplating just such a build for the last couple of years, but had not quite figured out the light source and focusing.  I look forward to finally making some headway.

  Are you sure? yes | no

Ken Yap wrote 04/23/2019 at 00:11 point

Wow, 200k slides. That's a lot and automation is totally justified. I'm glad I had only a few thousand (slides and negatives) so I went the flatbed (Epson scanner) route which gave me good results.

  Are you sure? yes | no

craig wrote 04/22/2019 at 21:27 point

Huge project you have taken on there, but with 200k slides I can the initial work could pay off.

  Are you sure? yes | no

Greg wrote 09/09/2018 at 06:09 point

I've been researching camera scanning over the past few days, and this is definitely the most sophisticated project I've seen (barring some commercially-available equipment)! I've got a pile of slides and the desire to digitize them, so I essentially want to wind up with a system just like this. Looks great so far!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates