Modification of the Wolverine Pro Film Scanner

Modification of the Wolverine Pro Film Scanner

The Wolverine Scanner (also sold as Reflecta, Somikon, Winait or similar) for Super 8 and Regular 8 Film fills a gap in the market because it is affordable. Unfortunately, however, its quality also leaves some things to be desired – above all, it is criticized that it scratches films during scanning.

After I purchased such a device (the Pro version, which also holds 120m reels), the inadequacies left me no peace, and I have made some improvements that I would like to share here. Imitation is desired and recommended 🙂

The main problem with the mechanical inadequacies is that the film is potentially heavily scratched in many places: for example, the device has five “rollers”, which are not rollers at all, but rigid bolts. Also, the film is pressed far too much by skids in the film path. The presumed reason for this construction is probably that the take-up reel of the scanner exerts far too much traction (more on that below).

1. Modification: Film Guidance

The rigid deflection bolts scratch the film reliably and on both sides, especially since the film is pulled with extremely strong torque. I have removed all these bolts and replaced them with three mounted deflection rollers, which touch the film only on the edges and also lead exactly horizontally through the film path, so the edges of the film path are no longer a source of vertical scratches.

The five screws still show where the rigid film scratches were once located, and how absurdly the film was led around them.

The sprocket roll is also retrofitted (and ball-beared) – it is used to detect whether the film is being transported. Here’s more on that below.

The film is now exactly aligned with the film path and no longer needs to be pulled over the hard edge

2. Modification: Film Pressure

Another modification is less visible: the contact pressure of the terrible film skids has been massively reduced. The film is not pressed down with a metal plate or plastic plate, no, four sharp-edged metal skids and two plastic skids do that:

Reliable filmscratchers

These skids press on the carrier side, and not at the filim edge, but in the middle of the visible image area. Close to the gate, there are two further plastic skids. Well, and the pressure seems a bit high — my measurement device measures 250g, which are needed to pull the film through the closed film path! However, the Film is not pulled at all, but pushed — by the single-toothed, sharp-edged claw, which is positioned somewhere at +5 or so. So there are at least 250g on the inner edge of the small sprocket hole, before the film gets moving.

The skids were polished by me and the contact pressure was massively reduced. now only 30g of force is needed at the perforation hole edge to transport the film.

3. Modification: Take-up pull

I wondered, of course, why the pressure is so high. The reason is probably that the take-up motor pulls way too hard, and the pressure was needed to grant good image registration. It has a primitive slip clutch, but it is far too firm and, of course, not adjustable. When the enormous contact pressure was still not sufficient, the Winait designers probably screwed on the five deflection bolts. And since the friction of these five bolts apparently still did not slow down enough, the lower ones were further covered with shrink tube. (Unfortunately, even this friction is not enough: A common tip among Wolverine users is to block the take-up reel during scanning or to simply run the film into a cardboard box so that the image registration is acceptable…)

The problem with the too strong film pull could be solved very easily and elegantly: With a resistor and a spindle pot (in series), the motor current can now be controlled smoothly.

Here, the take-up reel can be slowed down so that the film is still being wound without being dragged through the film path.

4. Modification: Automatic Shutdown

Another problem with the Wolverine scanner is that it can hardly be operated unattended. Not only does it tend to hang due to any small perf damage, scanning the same frame again and again for hours, it also does not notice the end of the film andkeeps tacking on for hours.

To mend this deficit, I installed the procket roll, with a sector disc mounted on it’s back:

Inside the scanner, this disc now rotates synchronously with the film

When the film is transported, this disk continuously generates impulses, which are optically detected and sent to an Arduino:

The reflex sensor, which looks at the sector disc, is mounted on the brass spacer bolt

The Arduino is mounted in the corner and “watches” the flm transport. If a terminated film transport is detected, the Arduino switches off the scanner cleanly via simulated key strokes, so that the film file is still closed cleanly.

Last but not least, the Arduino controls a three-color LED, so that you can see the device status at any time (red: scanner switched off, blue: scanner switched on but not yet on scanning, green: scanner is on and scanning.

The code for the Arduino is at the bottom.

Results

This is what the scan results look like without any editing — at least the scratches are gone, and the image registration is much better than before, although still not very good:

However, the bad image registration can be reliably corrected with one click in Davinci Resolve (free), the whole thing then looks like this:

And last but not least, the modified device in action…

The code for the Arduino:

/* 

Turn off the crappy Wolverine Scanner when it stops moving 

*/

#define impDetectorPin  3
#define buzzerPin       5
#define relaisPin       12

#define blueLedPin      10 
#define greenLedPin     11
#define redLedPin       13

#define SCANNER_RUNNING          1
#define SCANNER_GETTING_LOADED   2
#define SCAN_FINISHED            3

uint8_t myState;
uint8_t prevState;
unsigned long millisNow = 0;
unsigned long lastMillis = 0;
volatile unsigned long impCounter = 0;
unsigned long lastFrameCount = 0;

bool scannerEverRan = false; // Don't beep right away

float lastFreq;

void setup() {
  pinMode(impDetectorPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  pinMode(relaisPin, OUTPUT);
  pinMode(redLedPin, OUTPUT);
  pinMode(blueLedPin, OUTPUT);
  pinMode(greenLedPin, OUTPUT);
  
  Serial.begin(115200);
  tone(buzzerPin, 6000, 200); // Hello!
  delay(250);

  digitalWrite(relaisPin, LOW);
  redLight();
  
  attachInterrupt(digitalPinToInterrupt(impDetectorPin), countISR, CHANGE);

}

void loop() {
  measureScannerFreq(10); // measure speed over 10 seconds
  if ((lastFreq <= 1.7) || (lastFreq >= 2.3)) {
    if (lastFreq == 0.0) {
      if (scannerEverRan) {
        myState = SCAN_FINISHED;
      }
    } else {
      myState = SCANNER_GETTING_LOADED;
    }
  } else {
    myState = SCANNER_RUNNING;
    scannerEverRan = true;
  }

  if (prevState != myState) {
    switch (myState) {
      case SCANNER_RUNNING:
        greenLight();
        Serial.println("Scan läuft.");
        break;
      case SCANNER_GETTING_LOADED:
        blueLight();
        Serial.println("Scanner wird geladen.");
        break;
      case SCAN_FINISHED:
        Serial.println("Scan ist fertig.");
        redLight();
        powerOff();
        scannerEverRan = false;
        myState = 0;
        break;
      default:
      break;
    }
    prevState = myState;
  }
}

void measureScannerFreq(int checkIntervalSec) {
  millisNow = millis();
  if (((millisNow % (checkIntervalSec * 1000)) == 0) && (lastMillis != millisNow)) {
    lastFreq = float((impCounter - lastFrameCount)) / checkIntervalSec;
    lastFrameCount = impCounter;
    lastMillis = millisNow;
    Serial.print(lastFreq);
    Serial.println(" B/s");
    Serial.println("");
  }
}

void redLight() {
  digitalWrite(redLedPin, HIGH);
  digitalWrite(greenLedPin, LOW);
  digitalWrite(blueLedPin, LOW);
}

void greenLight() {
  digitalWrite(redLedPin, LOW);
  digitalWrite(greenLedPin, HIGH);
  digitalWrite(blueLedPin, LOW);
}

void blueLight() {
  digitalWrite(redLedPin, LOW);
  digitalWrite(greenLedPin, LOW);
  digitalWrite(blueLedPin, HIGH);
}

void yellowLight() {
  digitalWrite(redLedPin, HIGH);
  digitalWrite(greenLedPin, HIGH);
  digitalWrite(blueLedPin, LOW);
}


void countISR() {
  impCounter++;
}

void powerOff() {
  digitalWrite(relaisPin, HIGH);
  delay(3000);
  digitalWrite(relaisPin, LOW);
  
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  tone(buzzerPin, 6000, 1000); // Hello!
  delay(2000);
  
}
Friedemann Wachsmuth

Schmalfilmer, Dunkelkammerad, Selbermacher, Zerleger, Reparierer und guter Freund des Assistenten Zufalls. Nimmt sich immer viel zu viele Projekte vor.

11 Comments

Michael Lehner Posted on 20:43 - 10. February 2021

That‘s Great work! In I May ask: wich resistor and spindle pot did you use fir the Motor on the take up spindle wheel. The Motor is driven with 12V DC, if I‘m right. Do you have a photo of this assembly? Regards Michael

Robert Hoskin Posted on 02:46 - 13. April 2021

How to modify the film speed from 20 fps to 18 fps, and as well 24 fps ?

Arne Posted on 22:11 - 17. September 2021

Hi!

How did you polish the skids? Did you polish the metal skids or did you do something with plastic ones as well? I have Reflecta unit with slightly different plate – only rightmost metal skid is present, on the left I have plastic skids similar to the center skids in Wolverine unit.

Patrick D Posted on 15:41 - 6. December 2021

Very pertinent improvements. These modifications adress the main mechanical flaws of the machine. There remain big issues with the image capture and processing. It seems that the machine cannot really focus on the film, and this results in some (small) amount of blur. Then the .mp4 compression ratio is presumably much too high, and this results in compression noise (pixellization), which is very apparent in plain colour areas such as a clear blue sky. Any ideas on how to address these two further issues?

Sehr sachdienliche Verbesserungen. Diese Änderungen beheben die wichtigsten mechanischen Mängel der Maschine. Nach wie vor gibt es große Probleme mit der Bildaufnahme und -verarbeitung. Es scheint, dass das Gerät nicht wirklich auf den Film fokussieren kann, was zu einer gewissen (geringen) Unschärfe führt. Außerdem ist die .mp4-Komprimierungsrate vermutlich viel zu hoch, was zu Komprimierungsrauschen (Pixelbildung) führt, das in einfarbigen Bereichen wie einem klaren blauen Himmel sehr deutlich zu sehen ist. Gibt es Ideen, wie man diese beiden Probleme lösen kann?

Paul Van Gestel Posted on 15:00 - 8. January 2022

Hello,
Can you tell me how you did the pressure relief of the film guidance, i wanne do it also. What are the values of the resistance and the potmeter. Best regards, Paul

    Friedemann Wachsmuth Posted on 15:10 - 8. January 2022

    Hey Paul,
    hmm, this has been so long ago and I passed my Wolverine on in the meantime. To maintain the pressure, I either shortened or replaced the springs under the skid, can’t fully remember. I also polished the skids a lot (first sanded, than polished), which definitely also helped. Key is to measure the torques (“get moving” torque and “keep moving” torque) and keep them under control. This is the torque that is applied to the sprocket edges after all.

    For the pot, I did do trial and error with some spare pots and measured a meaningful range.. but didn’t take any notes. From my memory, the total vlaue wasn’t that big, IIRC definitely < 1k Ohms. Should be easy to figure that out. Happy modding!

Roger Owen Posted on 20:47 - 5. March 2023

Good modifications, well done. I’ve just had to give up with the Wolverine completely. it’s performance is totally erratic, it will run a film just fine – the the next one it will just keep stopping for no obvious reason.

Steven Reich Posted on 21:01 - 24. May 2023

I just purchased a Wolverine MovieMaker Pro to scan some Super 8mm films my father shot many years ago. I like your modifications to the film path. However not being a film expert, I’m unable to find rollers (preferrably ball bearing) to replace the film posts. Where did you find and purchase the rollers you used in your modification? Thank you.

Michael Lamendola Posted on 19:53 - 20. October 2023

Question… how do you actually adjust the screws on the film pressplate? They are at such an angle that they seem impossible to get to.

My Wolverine Pro doesn’t press the film with enough force, and thus my scans are blurry and unusable.

    Friedemann Wachsmuth Posted on 20:03 - 20. October 2023

    Hi Michael, I sold this piece of trash a long time ago and don’t remember in detail. You shouldn’t need much force though to keep the film down. I guess the film channel is just too narrow… have heard that from other owners too.

D. Leonard Posted on 18:25 - 11. January 2024

Why are most of these units designed wrong? Emulsion side of the film should point to the lens of the converter camera. It is impossible to get a decent focus, or color registration. When the film was exposed, the emulsion side was toward the lens. When the film is projected the emulsion side is toward the lens. I believe that is is how a sharp image was produced on the screen. I got a Kedok unit for a gift, and it is backward also. In order to remedy this problem without trashing the unit, I need to scan the film from end to beginning and then somehow digitally correct the image and sequences later. The Wolvering unit looks like it is the wrong design also.

Leave a Reply