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. 

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. 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

film copier gen 7 v10.step

3D files for editing

step - 3.39 MB - 08/17/2021 at 09:23


Zip Archive - 32.44 kB - 10/29/2020 at 05:36


PCB picture (pdf) files

Zip Archive - 60.01 kB - 05/13/2020 at 06:22


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


  • 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

View all 10 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?



oldpeter wrote 10/10/2022 at 12:30 point

Hi to all.

I'm new here so please be patient. I'm an old man.

 And now the first question.

Anyone out there who knows where to find the latest version of the Gerber File and the PCB Layout ?

What I get was the one without the switch R8/S8

  Are you sure? yes | no

Mauricio Tecles wrote 05/17/2022 at 23:02 point

Hi Anton!
I have been studying your very nice project for some time. My first idea was to hack my old Bell & Howell 253A 8mm projector (1956). The biggest problem with that is the optical part. Lens (focal distance) and camera are hard to fit in the projector and they are kept away (43mm minimum) from the film (sprockets and objective housing are in the way).
I am considering adapting  your project to Arduino as I have an Arduino Mega and a NEMA 14 stepper motor. I would use my computer to process the image, which brings me to the camera and lens, probably Arducam 5MP Plus OV5642 Mini Module.
1-Which lens and mount base did you by with your V2 camera?
2-Have you used just the Mobile Phone Macro Lens 20X (Snapun) or in addition to the V2 lens?

Thank you for sharing your work!

  Are you sure? yes | no

Anton wrote 05/18/2022 at 05:39 point


I’ve used the original Raspberry camera V2 + the macro lens.

Arducam has a great variety of lenses, maybe there is one that can donthe job without the additional macro lens?

Your approach sounds very interesting- please let me know how it goes from time to time if you don’t mind.

BR, Anton

  Are you sure? yes | no

Mauricio Tecles wrote 05/18/2022 at 12:22 point

Thank you! I will!

  Are you sure? yes | no

Doug Bidault wrote 03/16/2022 at 03:47 point

Hi Anton,

I've been quietly following this project for a few years now.  I've built the hardware and have everything working with the test code, so far so good.  I am at a point where I would like to scan some film, but my primary interest is regular 8 and I don't even have any super 8 film to play with.  Are you still working on the regular 8mm implementation and do you have an idea when you might have some code to try?  


  Are you sure? yes | no

Anton wrote 03/18/2022 at 02:39 point

Hi Doug

I wish I'd have some more time to completely rewrite the code. Its quite a mess - doing its job but only for S8. In order to scan R8 (beside using the other sprocket) the step_count needs to be adjusted, which can be done easily, but the bigger topic is to change the part where opencv checks the sprocket hole. The position from the hole to the picture is different. You could just skip it all together and scan your films, but in this case you will need to post process the frames with another tool such as final cut.

Rewriting the code is something I really would like to do, I just cannot see that happening anytime soon due to time constrains on my end. (Maybe someone else has done it already?) Once I do I for sure will post it here. 

  Are you sure? yes | no

Doug Bidault wrote 03/19/2022 at 03:52 point

Hi Anton,

I wish I was better with software, I'm more of a hardware guy.  If I want to play around with just scanning the film without using the sprocket info, is there any changes I need to do to the code?  So far I've had an error when I try running it, It's the same error that "thejerry" posted last year.  I haven't had time to look into it yet but hopefully I'll get to it this weekend.  

  Are you sure? yes | no

Anton wrote 03/20/2022 at 07:38 point

Hi Doug

I just posted a new version for S8 scanning. I cleaned it up and I hope I will soon find the time for a R8 version. Your post motivated me to do the cleanup! :)

  Are you sure? yes | no

Anton wrote 03/20/2022 at 12:10 point

I just posted a version for regular 8

  Are you sure? yes | no

Doug Bidault wrote 03/22/2022 at 00:27 point

Hi Anton,

 I'm glad that I was able to help provide some motivation.  I've looked over some of the new code  and I'm looking forward to using it. 

  Are you sure? yes | no

Ron wrote 01/23/2022 at 14:08 point

Hi Anton,

I am verry interested in the files of the sprocetwheel and filmgate. I only saw the complete machine. Is this due to my lack of knowlage about 3d files? 

Is it possible to download only the sprocketwheel and filmgate?

Thanx in advance.


  Are you sure? yes | no

giancarlo wrote 01/23/2022 at 14:39 point

Hi Ron,

is one of theses files are you looking for?

You can convert it with online tools from stl to dwg

  Are you sure? yes | no

Ron wrote 01/23/2022 at 19:22 point


  Are you sure? yes | no

Anton wrote 02/13/2022 at 22:42 point

Hi Ron! If you download the .step files in e.g. fusion 360, you have all components - from there you select the one you want to work on. Its easier to use the .step format than stls

  Are you sure? yes | no

jfoust wrote 01/21/2022 at 14:16 point

Instead of all the hassles of sprockets, what about the idea of a friction drive (such as a rubber roller) along the sprocket edge?  I know, purists don't want anything to touch the film.  But claws and teeth depend on film sprockets not being worn or torn.  

Instead of trying to design a reliable mechanical method of precisely aligning film frames to the camera optics, what about a more continuous drive?  Moving the film a known small amount, a fraction of any film frame, taking a pic, and then letting OpenCV find the film frames and glue them back together?  

And this could process optical audio, too.  And a continuous feed would also make it possible to add a magnetic head to handle that kind of audio, too.  Or having a gate that can handle 8mm, 16mm, 35mm?  Or what about controlling the LED backlight brightness and taking several exposures instead of one, and squeezing more HDR depth out of an 8-bit camera?  

All of us here probably have a powerful PC with GPU and plenty of fast storage, so why not do all the post-processing on a paired PC?

  Are you sure? yes | no

giancarlo wrote 01/23/2022 at 14:34 point

Hi Jfoust,

I have made some test of HDR with the PiCamera V2 but instead of changing the LED light I have changed the shutter_speed of the Camera.  The result is good.

I was also proposing replacing the 8Mpixel camera with the 12Mpixel one. 

For the post-processing is of course better to use a PC. 

  Are you sure? yes | no

giancarlo wrote 01/05/2022 at 17:21 point


very interesting project. I'm printing the 3D parts and buying the components. I have some question about the following components:

1) DC-DC Buck Converter Step Down Module: In the  component list I didn't found the exact type of converter: Input voltage, Output voltage, Power or output current?

2) Stepper Motor: I saw the microstep is set to 1/8 step. Is it possible to use a stepper motor with 1.8° step and a better microstep (1/16 or 1/32)?

3) Mini N20 Micro Speed Gear Motor 6V 60 U/min. Do you have a reseller for this motor?

4) Raspberry Pi Camera V2. I would be interesting using the 12.3MPixel one (Raspberry HQ) ( The PCB is larger and also the HQ version need lens. But the quality would be better (better noise ratio)

  Are you sure? yes | no

giancarlo wrote 01/16/2022 at 12:36 point

Hi again. I found that the DC/DC is a Uin=9V Uout=5V 3A

  Are you sure? yes | no

Anton wrote 02/13/2022 at 22:52 point

thats correct ... 9V is for the stepper, 5V for the pi. 

  Are you sure? yes | no

Anton wrote 02/13/2022 at 22:48 point

Hi giancarlo

2) - yes, just change the code accordingly (#of steps)

3) I bought it on aliexpress - do you need the exact reseller?

4) when I made it, there was no raspi HQ camera. No doubt the quality should be better. However, it will need significant changes on the model due to the size of the camera 

  Are you sure? yes | no

giancarlo wrote 02/16/2022 at 07:57 point

Hi Anton,

3) I found it on aliexpress.

It should be the right one

  Are you sure? yes | no

davidhhanes wrote 12/31/2021 at 17:14 point

I am having a friend 3D print the parts now, and have the PCB ordered as well. I'm having trouble finding a source for the correct "L9110H motor controller" form factor. Does anyone have a good source for this?

  Are you sure? yes | no

giancarlo wrote 01/05/2022 at 17:00 point

Hi, it should be a DIL8. You can buy it from different sources like:



  Are you sure? yes | no

domenico wrote 11/27/2021 at 08:56 point

Awesome project Anton. Thank you for sharing, I will definitively make use of your experience on this project to scan my dad's old home movies.

  Are you sure? yes | no

sixpack-de wrote 11/25/2021 at 09:10 point

Really cool Project, maybe I am blind (or stupid) :) , but is there a link to the stl files, or do I need to export them out of fusion? 

  Are you sure? yes | no

Anton wrote 02/13/2022 at 22:51 point

Hi! there is indeed a link for the stl files (left side under the team names) - but in case you cant find them:

  Are you sure? yes | no

TomW wrote 11/19/2021 at 19:16 point

Any thoughts on adding sound?

  Are you sure? yes | no

Anton wrote 11/20/2021 at 02:35 point

this is something I'm also thinking about since I found several reels with sound track. I guess I'll see if I can find an old used projector on ebay that still at least can play the sound. I would record it and add it to the film "manually". Adding it to the build would be challenging, since the audio track needs to be read in real time, while the film is scanned frame by frame.

  Are you sure? yes | no

haleyma wrote 11/19/2021 at 15:23 point

Really enjoyed the story of your build journey.  I keep lapsing back to Tinkercad and am curious what resources you used to learn Fusion 360?

  Are you sure? yes | no

Anton wrote 11/20/2021 at 02:31 point

Thank you - glad you enjoyed the story. I remember the switch from Tinkercad to Fusion very well. I was so frustrated and really thought that fusion is just too complicated. I watched tutorials on youtube (e.g. ) and then just tried and tried and suddenly it seemed totally logical and easy to me. I guess there was some "unlearning" necessary coming from Tinkercad, where you design with objects vs fusion where you use sketches. Don't give up - its totally worth it :) 

  Are you sure? yes | no

haleyma wrote 11/20/2021 at 14:51 point


  Are you sure? yes | no

thejerry wrote 07/16/2021 at 17:08 point

So I am on the end of HW journey. I finished build and I am trying to scan something. works perfectly. No issue there. When I tried it showed error "contours,hierarchy = cv2.findContours(thresh, 1, 2) ValueError: not enough values to unpack (expected 3, got 2)", I found that this line is maybe outdated after some updates of OpenCV, so I tried change that line with help of this discussion .. I didn't show this error any more but I have new one and I am stuck :/ 

cnt = contours[l] IndexError: list index out of range

I tried to change it to 2000. Didn't help. What this could mean? I am not programmer, so I can only guess. Maybe it can't recognize frame?

I am using HQ camera and I didn't change nothing else in the

  Are you sure? yes | no

thejerry wrote 07/22/2021 at 10:36 point

I am pretty sure it was because of blob wasn't bright enough. I move LED little bit higher and add some brightness in camera settings. Looks like it helped.

I still wasn't able to make full scan. It seems to me it goes sometimes more backwards then forward and after some while of backward movement sprocket loose contact with film and scanning is stopped. 

  Are you sure? yes | no

Lazyfattree wrote 05/05/2021 at 11:13 point

BOM list with links to the components to buy would be interesting. 
I'm really excited to make 1 and then alter it for Super 8 aswell 

  Are you sure? yes | no

thejerry wrote 03/14/2021 at 18:57 point

I am gonna try to use new HQ camera. Before I am gonna start, is anyone here who successfully updated this great machine with HQ camera?

  Are you sure? yes | no

Richard Stevens wrote 01/11/2021 at 22:24 point

Really cool project, thanks a lot for sharing. I'm planning to build this and currently sourcing the parts. Two questions:

1.) I'm having a hard time sourcing the acryllic. 1mm seems to be difficult to get. Does anyone have an idea where to order it in Germany/Europe?

2.) I have a couple of optical endstop modules left over from my printer build. Is this what's needed? 


And I have a third question. I printed the sprocket gear on my SLA printer. The stepper hole fits perfectly. Also measured, the dimensions seem to be spot on. However the sprockets themselves do not properly align with the film. A few do but then it starts to get misaligned. Does anyone else have a similar situation? Am I doing something wrong? 

I had this on the same plate:

and it fits perfectly. 

Thanks a lot,


  Are you sure? yes | no

Anton wrote 01/15/2021 at 01:44 point

Hi Richard

the acrylic sheet I used was from ali ...

to the sprocket: there are 2 versions regular 8 and super 8 - sure you use the correct one?

  Are you sure? yes | no

doublehead wrote 01/01/2021 at 22:40 point

Great project!

Could I ask you about photo sensor? Which one is used? And how precise your machine can position film frame under the camera?

I've trying to build scanner with a same idea. But have some problems with precision of positioning of film frames under the camera using perforation. I've tried laser detector (both direct and reflection modes), UV LED and UV detector, mechanical sensor - but it couldn't give me required accuracy...

  Are you sure? yes | no

Anton wrote 01/15/2021 at 01:46 point


the precision of the stepper is not 100%. Thats why I use OpenCV to adjust the frame as well at to crop it out.

  Are you sure? yes | no

FORART fe wrote 10/01/2020 at 06:58 point

Hi there, cool project mate !

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

Federico wrote 05/22/2020 at 14:10 point

Very interesting project, I've got a lot of old 8mm films shot back in the 60's and 70's and I'd really like to digitize them.

Since I dont't have a 3D printer at home, I would like to ask you if someone among you has tried online 3D printing services and the average cost to have all the parts printed.

Thanks for your help!


  Are you sure? yes | no

Anton wrote 05/28/2020 at 08:24 point

Federico, I personally have no experience with 3D printing services. 

Generally most of the parts are easy to print and not critical in regards how precise they need to be. Only exception are the ones that I indicated to print with a 0.25mm nozzle (sprocket and the film guides.) The ones I printed in ABS need to be printed in something temperature resistant. (not necessarily ABS, but PLA got too soft during operations and started deforming)

Maybe that helps in the selection of a service provider. 

  Are you sure? yes | no

Federico wrote 06/02/2020 at 17:37 point

Thanks Anton. I'm considering buying a 3d printer, not only it's cheaper than having all the parts printed through 3d printing services, but it may be interesting as I've never tried one!

  Are you sure? yes | no

kdhildred5 wrote 05/12/2020 at 10:27 point

I have most of the parts already. Been toying with designing and building my own. But hey why reinvent I love your design. Have bookmarked it. Looking at new pi camera and I'll be getting started on printing the 3d parts shortly... top Mark's. I too didnt like what you got for low cost sub $1k but not prepared to part with more.. have about 30 reels to scan.

  Are you sure? yes | no

Bernie wrote 05/10/2020 at 05:31 point

Really interesting and perfect project, thank you very much! You did so much work in planning, building, description, making it perfect. And the best is: you made a description public. Many developers only write a general desription to show how perfect they are, but it is only a description without any instructions.

Ok, I printed everything (after so many fights with my chinese 3D-Printer) and i built (most) of the electronics. Only the circuit board i cannot build, because i have no possibility to print the layers (i cannot open in a layout-programm to print on a printer, i don't know why) - maybe you can publish it as a picture-file (jpg or something like this?) and Now i am waiting for some missing parts of the electronic i've ordered in china. They are not available in europe.

To install the "basic" raspi is also no problem, but i have really problems to install the rest of the software. Anton, Is it possible to put an image of the "ready installed sd card" to the project for download? There should be no problem with copyright, and it would help so much.

Thank you!

  Are you sure? yes | no

Anton wrote 05/12/2020 at 04:45 point

Hi Bernie

The installation of some of the necessary software is really quite tricky - especially openCV. I'll see if I can anonymise (remove my pwds etc) and make an image available. 

The circuit board I ordered from 

I just uploaded the gerber file (which I created with easyeda) and they shipped 5 pcbs for 2$ with a week. Since I was a new customer at that time the wavered shipping ...  

The gerber file is accessible here as well - in case you want to give it a try.

There is a picture of the layout posted here. - Let me know if you need more.

  Are you sure? yes | no

Bernie wrote 05/12/2020 at 10:08 point

Hi Anton

Do you mean the picture in the gallery? I can't find a better (newer?) picture of the layout in your description, so i don't know if this is the newest , correct design.

I don't want to order the board somewhere (ok, the company in the link is very cheap.) because i can make it by myself at home, when i have the printable layout.) The Picture in the gallery has a very simple layout, this i can also build by "wiring by hand". But i have t be sure, that the layout is correct. Is there any possibility to export the two layers (of the gerber file) in the fileformat jpg (or something similar), so that i can print both layers with a laser printer on folia?

An image-file of the software would be really very helpful for everyone who wants to build this - i am sure, i am not the only one. who is interested

Easyeda need a registration and i don't want to do this for one time use.

I wish you the best, very frienddly support and perfect publishing of the 3D-printfiles!

  Are you sure? yes | no

Anton wrote 05/13/2020 at 06:27 point

Hi Bernie

cannot reply your last message - so I do it here:

I uploaded a file called just now.

You'll find pictures of the individual layers. I hope that helps.

Yes - the schematic is very simple, you can easily solder yourself :)

  Are you sure? yes | no

Bernie wrote 05/17/2020 at 06:37 point

Thank you very much!

i will make a pcb (without sending to a company, i can do it by myself), it looks nicer than hand-wired.

For one part i will use a replacement (S8050), because it is really a problem to get it here in germany. I can only order in china and there some of the shops say it is npn and some say pnp. Same name and different types? Secret? I'm shure it should be npn. The delivery time to germany is in these china-shops is very long too, some say "to september". So I will try a similar/replaycement type i can buy here. The only problem at the moment is corona, all electronic-shops are closed, i have to order.

The image of the software is really a good idea ;-) - i hope, you can do it.

OpenCV is registered? I thought there is a free version too?

I hope, the scanner will work soon.

Greetings from munich!

  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