8mm Film Scanner

Scan regular 8 and super 8 film and create a digital copy

Similar projects worth following
When a relative of mine passed, she left behind a lot of 8mm film reels. I figured too many to bring to a copy shop to digitise them. I searched the internet and found several solutions - from ready to use copy machines to dyi projects. However, non of them fulfilled my requirements, but my curiosity was sparked and I thought of making one by myself.
I went already through some iterations of designs to create a reliable, easy to use 8mm film copy machine.
I learned a lot along the process: about the raspberry camera, fusion 360 as a tool to design the parts, easyeda to design a pcb and OpenCV to analyze the pictures taken. All this things where a first for me - and I'm still learning :)

The basic idea is to move the 8mm film frame by frame with a stepper motor and take a picture of it. Afterwards putting the images together to a film.

The frames are quite small (abt 5x4mm) and in order to have a smooth playback of the film, the positioning and cropping of the images is critical. 

After initial tests, I decided to use OpenCV for positioning and cropping. 

While the hardware can deal with regular 8 and super 8, the software is still only supporting super 8. 

First comparisons between a "professional copy" and the built here looks promising, but I believe that especially the camera settings still can be improved a lot.

Here a short video made with the scanner: (original from 1976)

The 3D print:

Originally I printed everything in PLA on my Ultimaker 2+. But after several hours of scanning I realised that the temperature of the stepper gets too high and some parts started deforming.

I printed the parts near the motor with ABS and that works just fine. (the stl files are sorted by material used)


Even that the 0.9 degree stepper usually positions the frames very precise, there are variations especially when glued parts of the film, which are thicker, pass by. 

To ensure that the frames are always positioned in the middle of the cameras focus, I search for the contour on the left side - the sprocket hole in the film.

If that goes out of a certain tolerance, the stepper will readjust the frame.

scanned image

After scanning all the frames, the software goes in another mode - calibration and crop.

A rectangular frame (the green one) is moved to the desired part of the frame. This is necessary because the frame position relative to the sprocket hole is camera specific. 

After checking the right position of the rectangle with some random frames, the cropping is started with the push of a button. The frames are now cut out precisely and once done, they are put together with ffmpeg to a film.

image with calibration rectangle

This project is still ongoing - so what I'm working on:

1) still optimizing the film transportation. V1 works fine, but I want to get to less machine / film contact.

2) Optimize software: The individual parts (scanning, cropping, making the film) work fine independently, but I want to make the workflow in between smooth. (my intention is that it can be operated by anyone)

3) the camera settings: this is the part I still struggle a bit. I need to find the best settings for white balance and exposure. Will post my experiments in the log - any help would be highly appreciated. :)

4) add a post processing feature: Old cameras did not have picture stabilization. I ran one scanned film though the final cut pro stabilization and the result was amazing. But in order for FCP to stabilize, it needs to crop the frame a bit further. So what I plan is to have the choice to crop the frames exact (as now) or a bit wider, so that you don't loose any parts of the frames during post processing with 3rd party software

5) add regular 8 support: The sprocket wheel diameter and the number of sprockets are already optimized, so the film can be transported correctly. Whats missing is the adaptation of the software. (The sprocket holes are in different positions vs super 8). Not a big deal, but only makes sense once point 2 and 3 are done.

Portable Network Graphics (PNG) - 532.58 kB - 09/07/2019 at 16:06


gerber_raspberry hat_film_scanner_v2 - 32.58 kB - 09/01/2019 at 08:36


  • 1 × Raspbery pi Model B
  • 1 × Raspberry Pi Camera V2
  • 1 × 3.5 inch 26P SPI TFT LCD Display Screen with Touch Panel 320*480
  • 1 × Mini N20 Micro Speed Gear Motor 6V 60 U/min
  • 1 × Photo Interrupter Sensor Module

View all 25 components

  • Experimenting with the Film Plate

    Anton11/08/2019 at 18:59 0 comments

    Large parts of the visible area of the camera are shielded from the light source through the film plate and the camera mount rail. To compensate for that, I opened small areas of those parts to let light through, to see if the adjustment of the raspberry camera would better adjust the brightness. In my test it did and I'm very pleased with the result. 

    I put the files in the gdrive folder: camera mount rail V2, film plate V3, light box V2

  • autodesk fusion 360 files

    Anton09/06/2019 at 14:17 0 comments

    Since you've asked for:  I've published the fusion 360 link.

    Bear in mind that this is my first project in fusion, so its quite messy :)

    8mm film scanner fusion 360

  • Update of Film Plate

    Anton09/02/2019 at 14:05 0 comments

    I'm currently testing a new film plate, which reduces the direct contact to the film to only the side parts (which do not have parts of the images). In all the tests no film has ever been scratched, but I want to eliminate the risk. 

    The new version brings another challenge: due to lesser friction, the film will not be positioned so tightly, so it can be moved more easily. (eg through the film capture wheel) 

    film plate V1 - the inserted 1mm acrylic light diffuser has direct contact to the film

    film plate V2: the contact of film to the rail is limited to the sides

    V1: Scanning 15000 images showed that the frame has been corrected by the stepper about 500 times - peaking when glued parts of the film got scanned. 

    V1 precision test

View all 3 project logs

  • 1
    Assembling the core

    Beside the printed parts on the picture, you'll need:

    Screws: 2pc M3x20mm, 1pc M3x12mm. 1pc M2x8mm

    Nuts: 5pc M3 Self locking, 1pc M2

    Magnets: 9pc 6x3mm

    Bearings: 6pc 3x8x4mm

    Glue the magnets into the holes of the mount plate as well as the 3 roll axles:

    Important! - Check the polarity: the axle hast to stick to the magnets in the mount plate in the upper and lower position.

    Magnets in Mount plate

    Push the bearings into the rolls: Don't worry to use some force - I use a vise for that.

    Afterwards glue the sides on the 3 larger rolls.

    all bearings in place
    assembled rolls
    using the vise

    Now put the axles through the mount plate and the roll mover (or roll spacer) and push the rolls on it. No need to adjust them yet. 

    Mount the 2 lower rolls with M3x20 screws and the interrupter lever with an M3x12mm screw. The film clearer is mounted with the M2 screw. Add 2 M3 nuts at the bottom of the latch (see picture of the back view)

    Ensure all rolls are running smooth and the upper rolls are locking in the upper and lower positions. 

    The result should look something like this:


    move on the step 2

  • 2
    Assemble the motorized spool holder

    Beside the printed parts as shown, you'll need the geared motor (6V 60U/min) a ball bearing 5x10x4mm a M3x16 screw + nut a magnet 6x3 (not on the photo) and some cable.

    Pull through the cables:

    Solder the geared motor:

    Put the nut in the motor cover:

    Put in the motor:

    Use the M3 screw to mount it to the arm:

    Assemble the spool holder by gluing the printed parts together and push the bearing on - it should sit very tight! Glue in the magnet. Important: You will find 2 very similar parts in your prints for the spool holder, one for each side. Here you use the slightly longer one.

    Push the holder into the arm - also here the bearing should fit very tight.

    Put the spool motor wheel main part onto the motor axle and glue the motor wheel front to the main. (not the axle)

    Assemble the 2nd spool holder and put it into the other spool arm.

  • 3
    Putting together what we've built so far

    You'll need screws: 4 M3x20, 2 M3x10, 4 M3x6mm, 6 self locking nuts M3, 2 M2x6 + nuts, 12 magnets 8x5mm, Photo Interrupter Sensor Module, the stepper motor, 1 Steel Shaft Sleeve 5.05mm, 1 DC Power Jack 5.5 x 2.1mm, 1 Button 12x12mm

    Glue the magnets into the holes:

    Polarity: the Magnets in the 4 magnet holder should stick to the magnets in the cover like that:

    Add a bit of super glue on the outer ends of the holders and put the cover on the back cover box, that way the cover will fit exactly on the box.

    Mount the power jack and the button. I use hot glue for the button. 

    Add the photo interruptor with the 2 M2 screws, the stepper with the 4 M3x6mm screws and mount the plate to the box. The M3x20 screws have to go through the mount plate, the spool arms and the box. 

    Push the sprocket back spacer on the stepper axle, a a few drops of glue onto it (the spacer - not the axle!) and push the sprocket with the shaft sleeve onto the axle.

    The cover should fit nicely and the magnets will hold it in place:

View all 8 instructions

Enjoy this project?



ginjaian wrote 10/17/2019 at 16:29 point

I'm interested in the Pi camera + mobile phone 20x lens. Presumably need exact version as you to fit. Seems to be "SNAPUM mobile phone Macro Lens 20X Super Cellphone Macro Lenses for Huawei" on ebay. Is there much distortion to the image with this?

  Are you sure? yes | no

Anton wrote 11/08/2019 at 18:39 point

Hi! - sorry, saw your reply just now...

that sounds about right - I ordered at ali:

if that helps.

The distortion is minimal and not visible in the area we are using, which is towards the middle of the image. I have tried lenses with higher magnification, but there the distorsion became visible, that why I settled with this one.

  Are you sure? yes | no

Greg Bushta wrote 09/15/2019 at 05:01 point

This looks like something I would love to build.  I have my father's old super-8 films.  He spliced them together onto 5 or 6 inch reels.  I was thinking of purchasing a converter for the project because there are 5 full reels.  The quality you are getting from your project looks perfect for what I would want as a result.  Thanks for working on this and documenting.

  Are you sure? yes | no

Matt Middleton wrote 09/13/2019 at 17:16 point

I was wondering, have you run into film breaking? If so, how do you handle that on the technical side?

  Are you sure? yes | no

Anton wrote 09/16/2019 at 05:37 point

Hi Matt

Only encountered glued parts opening up. What happens is the same that happens at the end of a film. The software detects a very big blob area and stops. What needs to be done is to move the film forward manually until the sprocket can hold it and press “start “ again

  Are you sure? yes | no

Dan Maloney wrote 09/06/2019 at 18:02 point

Hey, very cool! Wrote this up for the blog, hope you saw it there.

  Are you sure? yes | no

Anton wrote 09/07/2019 at 02:45 point

Thanks Dan! Saw your article already and I really like it.

  Are you sure? yes | no

brkdwn wrote 09/06/2019 at 10:01 point

can't wait for the whole instruction guide ! i'm so ready to build this !!

  Are you sure? yes | no

Anton wrote 09/06/2019 at 14:05 point

I'll do my best .... 

  Are you sure? yes | no

Drew Peacock wrote 09/05/2019 at 16:44 point

Love this! I had been working on something similar for a while but with different hardware (namely a Pi Zero W with an Arducam camera and a different stepper motor) but sadly had to put it on hold.

Are you planning on releasing the fusion360 files when you're finished? I'd love to be able to easily adjust it to my hardware! 

  Are you sure? yes | no

Anton wrote 09/06/2019 at 02:45 point

If you see value in accessing the fusion files - no problem. In that case I guess I need to clean it up a bit :) This is / was my first project using fusion 360, so the component / body / sketch structure is a real mess.

  Are you sure? yes | no

Drew Peacock wrote 09/09/2019 at 12:36 point

I know exactly what you mean haha, my first few projects were just like that - complete messes but worked perfectly. Being able to modify the fusion file directly is a huge time saver over importing an STL as a mesh, converting to A BRep, then chopping it up into workable sections for where the changes need to be made. 

Thank you so much for sharing your design!

  Are you sure? yes | no

Mario Lukas wrote 09/04/2019 at 20:45 point

🙏 This project made my day! I am looking for a long time for a raspberry pi based 8mm digitizing machine. Thank you! Are there already full build instructions anywhere? 

  Are you sure? yes | no

Anton wrote 09/05/2019 at 01:40 point

haha ... I guess I know how you feel .. was looking myself for a long time until I gave up looking and decided to make it :)

I am currently writing the instructions. For that I have printed all parts already a second time, so the only limiting factor now is the time I can spend putting it together. My plan is to post a step a day here on the project page, hope I find the time.

As you can also see - the project is "ongoing". It works for me and I scanned already several reels, but the software needs optimization (workflow) and I hope I can improve the camera settings. Will address this topic in the log.

bottom line - please stay tuned ;) 

  Are you sure? yes | no

Clyde Shaffer wrote 09/04/2019 at 16:23 point

Nice! Any plans on scaling it for 16mm? I know a few people who'd get a lot of use out a desktop 8/16mm scanner, especially one as tidy as this!

  Are you sure? yes | no

Anton wrote 09/05/2019 at 01:32 point

thanks! - I have never thought about it, simply because I have no 16mm film to scan available, but I dont think the adaption would be too difficult: The camera / lens combination should capture it by just changing the picamera mode (currently 6 - which limits its focus)

So it would come down to wider rolls, film guides and spool mounts and the distance of the front cover - which should be possible by just extracting / pulling the current parts in fusion 360 ... I guess.

If the reels are (much) bigger the position of the spool handlers would need to change as well. 

  Are you sure? yes | no

adam.klotblixt wrote 09/03/2019 at 08:26 point

The example film looks VERY nice. Good job!

  Are you sure? yes | no

Anton wrote 09/03/2019 at 14:15 point

thanks a lot! :)

  Are you sure? yes | no

Richard Hogben wrote 09/03/2019 at 18:24 point

Yeah it already looks really good

  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