T-Scann 8 - project page

Super 8 / Regular 8  film scanner

Arduino to card Controll T-Scann 8 V1.35

Raspberry PI uses interface

52.   int Wled = 160; // Brightness white led

This is the program line for setting the brightness of the white LED that shines through the film perforation and is detected by the phototransistor.


If it is black around the hole, the brightness does not matter much. Now the reality is not always like that, so if the value of this is reduced, the light does not penetrate through the film as easily. The value of the brightness depends on how bright your white LED is.

This menu is in Swedish, the file to download is with English menu. Will later replace some buttons and their function.


Would you like to be notified when the Arduino or Raspberry PI files are updated? Send me an email

Important when using the HQ camera


This line changes the mode to 3 otherwise it compresses the jpeg files greatly



The page is made for an older 4:3 monitor, Raspberry PI has output for HDMI, but most older monitors have DVI input. There are cheap adapters to buy to solve this problem.

Updated working method v1.35

---- back edge

Arduino IDE has a function under Tools - Serial Plotter - which makes it possible to see the detection of

film perforation in real time.


-1-    When the measured value reaches 700, measurement of Dmax begins, that value is the maximum level of measurement.


317.  if (Dmax <= measureP && measureP <= 700) {

      Dmax = measureP;



-2-    When Dmax has reached its highest level and dropped 150, a frame is exposed. With new kapstan wheels, Wstep> 70 is just right. With old capstan (20mm) 10 is enough. Otherwise it skips frames.


280. if (measureP  <= (Dmax - 150) && Play == HIGH && Pulse == LOW && Wstep > 70 ) {

    Pulse = HIGH; Play = LOW; Dmax = 0; Wstep = 0; analogWrite (A1, 255); Ic = 0; Exp = 11; digitalWrite(13, HIGH); Dmax = 0;



When command is sent to the Raspberry Pi, the Arduino waits for the clear signal that the image has been taken and saved.


329.  if (Ic == 12) {

        Play = HIGH;


-3-    Now  that the frame is exposed and the level drops below 700, no exposure can take place before the level goes up to 700 again, etc.



The perforation of the film is triggered on the back edge of the hole. After trying ALL the ways to trigger, I currently think this way is the best.