Scanning with Blackfly cam challenges

Hi, I am Mike and this is my telecine Super 8 story:grinning:

  • 2015: Modified a Chinon DS-300 projector. Added motor control and led lighting, removed butterfly, added mechanical trigger and as impel webcam (Logitec C270), with a cheap lens to project on webcam sensor. Managed to create a movie but resolution was poor compared to the original film. Also images were often over exposed.
  • 2016: Replace webcam by a HD webcam too boost resolution. Experimented with lighting, laser triggering. Unfortunately no improvement i.r.t. image
  • 2017-2020: Decided to developed a new better prototype based on Filmfabriek design.
    • Transport:
      • Used stepper motor controlled by Arduino. Able to scan continuously or discontinuously (still frame)
    • Trigger:
      • Made laser trigger. Working perfect.
      • Laser sensor provided with pinhole cover as to improve laser detection accuracy
    • Optics:
      • Acquired a Schneider-Kreuznach, componon-S, 2.8/50. Unfortunately it did not provide sufficient sharp images in combination of below cams. Switched over to a El-Nikkor 2.5/50. Also this lens strangely (other do with both?) does not provide sharp images with the below cams.
    • Cam:
      • Using BFS-U3-120S4C-CS (Flir) with very high resolution MVC (rolling shutter). Pixel size at 1,85 um seemed to be too small. Nyquist issue according to EO? Did not manage to get a sharp image.
      • Switched over BFS-U3-50S5C-C (Flir) as to this cam has global shutter and larger pixels (3,45 um). Unfortunately still no real improvement in image quality after hrs of testing/experimenting.
      • Controlling the cam appeared to be not easy. Also the image quality is poor (unsharp, over exposured). I wander what setting other Blackfly users (if any) use.
    • Lighting:
      • Experimented with different sources, diffusors etc. Unfortunately no real improvement. Cam sensor has clearly problems with the high dynamic range of the lighted film.
      • Currently built (not yet tested on cam) a single RGB power led system controlled via FET & arduino. Leds can be switched on/off separately (if needed). Leds on/off is currently triggered by laser/arduino. But currently I am looking for a way to trigger from a PC (own written cam software) instead of from the arduino as to be able to adjust the RGB individual timing per frame per channel based on read histogram info (per frame). So this approach is to (and I understood Frank Vine uses this principle) a) do a RGB flash to capture the cam response (no image is saved) = histogram data, b) adjust the RGB exposure times based on histogram statistical assessment and c) flash again with adjusted RGB levels and save the image. The ‘secret’ of Frank lies in the algorithm he created that determines the individual RGB channel adjustment(s) after the first flash.
      • I am thinking of creating my own algorithm. For this I am currently reading about exposure, histograms, clipping, etc. as to come with a solution that I can test. Parallel I need to find out on how to ready histogram data (from a PC/prg) and write (also from same PC/prg) a timing to the leds (via a PCB?).
    • Image processing:
      • I would like to prevent going the HDR route (more complex). I rather take one correct(ed) image.
      • I know how to create an AVI of many images post capturing. But I have no experience on doing this on the fly. Is seems possible it can be done with the Flir cam. Needs investigating.

Appreciate any feedback or help with my challenges. Open to share experience.


1 Like

Thanks for this detailed post, Mike. Sounds like you’ve put a lot of work into your rig! I do have some questions.

  • What are you using for the laser tigger? Have you tried it with clear film?
  • Did you contact Flir about your image quality issues? Any response? There are some other Blackfly users on here and I will be soon, too. I suggest searching the forums for “Blackfly” and DM anyone who has one.
  • What can we help with?


Thanks for sharing your project details. A problem I encountered using the scan is the focusing of the image since the DOF is very shallow. Focusing using a HD 28" monitor solved the problem. How did you focus the image.? Sorry if I have offended you by asking a basic question.


  • List item Ref. clear film. I did not do that because I only have only black film reels. But if it would be transparant film my solution indeed might not work

  • List item Ref. Flir contact. Yes, I am currently in contact with Flir (was also before but it did not solve my problems then). I trigger (5V square wave) my cam (based on Flir guideline (incl. pin 2 = 5V and pin 5 = GND) ) and provide it with a test RGB led light for 20 milli sec. One way or another the cam is not grapping any images (also after factory reset cam). And, although I have a separate USB 3.1 host controller card the connection with the cam becomes occaisionally instable and freezes.

So my simple challenge (as a first step) is to make the cam capture images based on my trigger, in a stable way.

  • List item Subsequent challenges are:
  • assess the grabes images (based on flashed leds) and experiment with the cam parameters as to improve image quality
  • define/set in Spinview the drive location where I want to save the grabbed images
  • in a later stage I want write my one (preferable in VB) program that interfaces with both the cam AND the arduino that controls (via FET) the led switching on/off. But a challenge could be that this single program needs to interface with 2 ports and I do not know if VB can handle this.
  • I am reading about histograms and trying to find a solution for correcting clipping pixels.

Mike :grinning:

Hi U.

Indeed DOF is very shallow. For this I have a simple microslider and it enables me to change the distance between the film and the lens. The film (slightly tensioned) is slinding on a stable surface. For me it works ok.

I use the SpinView image to assess if the distance is ok. If needed you can zoom in for more detail.


Were your problems with the Camera solved. I also intended to purchase one and one of my problems is to get a .dng or a .dpx out fo the Camera footage. The instability you encountered is a major concern.


An update. I am working a few challenges.

  1. I can trigger (via Arduino/ mosfet) the cam but it strangely the captured (jpg) images are blurred whereas when I do not trigger the images they are not blurred (btw, the Flir 50c is a global shutter cam so it should be capable). Even when the film is still. I am now organising an oscilloscope as to assess the Arduino trigger signal (rising edge). Maybe the rising edge of the Arduino is not ok for the cam. Btw, this was advised to check by Flir. Btw, a tested the setup with my Flir 120C and it gave the same blurred images.

  2. When I capture images (although blurred) I observed that the laser trigger is not consistent enough. I.e. as a result the image is not captured at the same height so to say. When I create a movie out of it the movie is shaking too much (only vertically). Even after software correction. I am now sourcing a better more accurate laser (0.05mm) as to get more consistent triggering.

  3. The image quality is still below expectations although the cam is 12 bit, has 70 dB dynamic range. After I have solved 1 and 2 want to continue with that. Also I want to increase the light and significantly reduce exposure. Hopefully the gives better results i.r.t. over exposure.

  4. I am designing a wet gate feature similar to the Muller device. It looks like a simple and effective method.

Mike :grinning:

1.,2. Sorry to learn that there are problems. But you are able solve these.
3. This is the real problem as I see. Also puzzled by the unusual behavior of the El-Nikkor lens. And the Componon, which are regarded higher than Nikkor giving poor performance.
4. Great, Wish you all the success.


Hi Mike,
about your Blackfly BFS-U3-50S5C-C, is the image quality poor only during the transport or is it also bad with a static image?

When I do intermittend transport wirhout triggering & capturing the image is sort of sharp. But I see a lot of grain en cam has difficulties with overexposure. Reducing light results in detail loss in the dark.

When I do the same as above but trigger and capture the image captured become also blurred. But the 50C has global shutter and I take 1 sec pauze to take an image. So time enough. I do not have clue.

I am awaiting for an oscillocope to assess the trigger signal. And I also I will test the cam on an earlier telecine prototype to see if different type of trigger has impact. But my micro switch died so I first need to get a new one.

Meanwhile, I read that Frank Vine measures black level and uses that info to do the second corrected flash. Anybody an idea what this practically means? Measure the lowest mV value where the histogram 0 (pure dark) value is zero?


Hi Mike, How’s your project going? Frank’s design is very inspirational!
His software runs using ActiveUSB (the newer usb vision variation from activeDcam firewire package mentioned on his site)
You can download a free trial from their website USB3 Vision SDK, U3V Library, ActiveX Control, .NET Component, DirectShow filter for USB3 cameras
He mentions he found it much easier to use than camera manufacturer SDKs

I’m trying to write a program in VB using it to analyse peak values to avoid clipping as normal auto exposure tends to blow highlights too easy.