element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Making Time
  • Challenges & Projects
  • Project14
  • Making Time
  • More
  • Cancel
Making Time
Blog Laser Shutter Tester
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Making Time to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: sokol07
  • Date Created: 28 Dec 2020 7:28 PM Date Created
  • Views 10018 views
  • Likes 13 likes
  • Comments 21 comments
  • measuring tool
  • arduino based
  • makingtimech
  • photography
  • analog photography
  • shutter
  • photo_transistor
  • camera
Related
Recommended

Laser Shutter Tester

sokol07
sokol07
28 Dec 2020

Background

In the last few years film photography is regaining its position as more and more people are getting interested in it. Unfortunately, there are almost no film cameras produced so far. Therefore, most of the people passionate about taking photos on a photographic film are using very old machines – from 1920s to 1980s. What’s interesting – most of the old, mechanical cameras are sturdy and can be easily repaired which can’t be said about more modern cameras, full of precise and delicate electronic, which can’t be repaired without spare parts.

After many years of usage there are several parts in a camera which can require replacement. One of them are the curtains of the shutter – often made of rubbered silk, controlled by a mechanical clock-like mechanism, which controls exposure times. Sometimes the shutter needs to be disassembled also during replacement of the grease and lubrication of the mechanism.

After reassembly it is necessary to check the correctness of the work of the shutter. All times has to be controlled because multiple problems are possible – the shutter has to:

  • work with the exact time which was selected – if the exposure is set to 1/1000 of a second the exposure has to last exactly 1ms,
  • has the same time at the beginning and the end of the exposure – the exposure is performed by a slit between two curtains moving horizontally in front of the film. The slit has to have the same width along whole travel (wrong settings can make the slit appear in the beginning and disappear in the end),
  • has the same exposure at the bottom and top of the frame – there are strings attached to the curtain, which adjust its tension and provide its ideally vertical position. If one of the strings is misaligned the curtain is skewed, which makes the slit wider at one end and therefore – it makes the exposure time different.

Shutter test is also a very important test of a camera before buying it – repair of the shutter is one of the most complicated and cost-generating operations. Sometimes a camera is not worth buying due to the shutter malfunction. Slight issues can make the camera inoperable but they can be impossible to spot with a bare eye.

If you would like to read more about shutters I would suggest English Wikipedia page as a good starting point: https://en.wikipedia.org/wiki/Shutter_(photography)

image

By mpclemens - Agfa Isolette compur-rapid shutter, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=4901251

Professional shutter testers are huge devices, expensive and intended for use in camera repair workshops. Similar like with the cameras – most of the good units are not produced any more and getting used ones can be tricky.

This was a starting point for developing a portable device, capable of fast and easy measurements of multiple shutters despite of the format (from 24x35mm to 6x9cm, both horizontal curtain shutters and central, leaf shutters where multiple shutters are opening and closing behind a lens).

Idea

There are multiple solutions for measuring the exposure time. One of them in acoustic measurement – the device records shutter sound and it can be analyzed to determine the opening and closing moments, indicated by “clack” sounds. However, this solution isn’t very accurate for short exposure times (high shutter speeds) and can be used only for overall measurements of the exposure time – it is impossible to check the slight width in the top/bottom and start/end of the movement.

Therefore, I decided to use optical method – setting up a light beam, which is stopped by the shutter (just like during taking a photo!) and the time of exposure is measured as a time when the light beam is hitting a photoelement across the shutter curtain.

Many people go with IR LED light sources in similar applications. However, the IR light is invisible so it is harder to check, where the beam is in the shutter’s working space. This made me decide to go with a red laser light source.

The laser beam has to hit some kind of a detector. At first I was planning to use a photoresistor as I had a few spare in my “fancy electronic stuff box”. However, after some research I realized that the photoresistor has got too long reaction (rise and fall) times, which would make me unable to measure short exposure times. Therefore, I decided to use a phototransistor chosen to suit the red laser light spectrum.

The whole device is driven by a MCU and has got a screen for visualizing the measurements. No buttons are needed as the device needs no calibration – all the user has got to do is turn the power on and place the tester shutter in the way of the laser beam.

Design

The first version of the device was driven by an Arduino Nano clone. However, slight hand shaking during soldering made it necessary to replace it (please, don’t ask for details, all I can say is: never drink and solder!). The only other MCU I had at that moment was an Arduino Uno. However, this device can be run by any MCU capable of operating one I2C line (for the screen) and one analog input – even Attiny85 should be enough!

I decided to use an Adafruit SSD1306 OLED screen and a Chinese laser module (Keyes KY-008). Both of these modules can operate on voltage from 3.3V to 5V, which are supplied by the Arduino board.

The most important part of the device is the photoelement. After my research I decided to use phototransistor. Some further research shown me that the range of phototransistors sensible to red laser light (635-650nm) are not so common. I’ve found a series of TEPT phototransistors, produced by Vishay [1]. For my particular application I’ve chosen Vishay TEPT5600TEPT5600. The phototransistor itself has got a very good datasheet [2] and very attractive price.

In the presented configuration, the LST can be used for measuring shutter times as short as 0.00061s (enough for speed of 1/1000s). The program is using Arduino micros() function which, combined with Arduino Uno 16MHz clock, produces resolution of 4us. The phototransistor, according to the datasheet [2] has got rise and fall time of 310us. In the worst case scenario, the total rise and fall time is 620us, measured with resolution of 4us. If a better performance is needed, a load resistor of the phototransistor should be replaced as described in [2]. The Vishay TEPT5600TEPT5600 phototransistor was selected as a very cheap module, easily accessible, with good documentation and reliability. The resistor visible in the schematic below is a load resistor, chosen to suit the phototransistor, according to [1].

The overall device is presented on the schematic below:

image

All modules were mounted on a wooden frame to provide rigidity and stability of the laser beam.

Usage

After powering up the LST it will boot and display "Ready..." on the screen. Afterwards, the tested shutter should be placed between laser emitter and sensor (the laser's beam must be placed within the shutter area). Next the camera should be fired at preselected shutter time. The measured time will be displayed on the screen. If it is longer than 1 second, it will be displayed as a decimal fraction. Otherwise, it will be displayed as both decimal and proper fraction.

Images

image

image

image

Video

Camera used in the video is my Praktica FX3. It still needs some adjustments. image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Code description

In my github repository (link below) you can find a .ino file and a logo.h file, which contains a boot screen logo, converted to a binary array from a graphic file.

The used code is self-explanatory, with addition of the inline comments. The libraries used in the code are:

  • built-in Arduino Wire.h library
  • Adafruit GFX library: https://github.com/adafruit/Adafruit-GFX-Library
  • Adafruit SSD1306 library: https://github.com/adafruit/Adafruit_SSD1306

Sources

The project was first described by me on my github repository - feel free to check it out and download the sourcecode: https://github.com/sokol07/LaserShutterTester

[1] https://www.vishay.com/docs/84154/appnotesensors.pdf

[2] https://www.vishay.com/docs/84768/tept5600.pdf

  • Sign in to reply

Top Comments

  • jc2048
    jc2048 over 5 years ago +6
    Nice project. I feel like I want to build one. I don't have any TEPT5600 parts but I have some TEPT5700 [wider viewing angle] so I thought I'd try them to at least get a rough idea of what the speed was…
  • fmilburn
    fmilburn over 5 years ago +4
    Nicely done!
  • sokol07
    sokol07 over 5 years ago +4
    Again, thank you for you work and your feedback! I saved your measurements and the suggested system. At the moment I have a bunch of stuff to do for my work and some urgent 3d printing for myself (tinkering…
  • sokol07
    sokol07 over 5 years ago in reply to Fred27

    Ah, I understand!

    I did such tests some time ago, not with the laser but with the Arduino Uno itself at my University because I had a logic analyzer and I was able to measure how long the 1ms measured by the Arduino lasts measured by logic analyzer. I don't remember precise results but generally speaking - Arduino was working according to docs (millis() and micros() functions).

    According to Arduino docs the micros() function, which I'm using for time measurement, has got resolution of 4 or 8 us (depending on Arduino on-board clock, which can be 8 or 16MHz).

    https://www.arduino.cc/reference/en/language/functions/time/micros/

    I believe that the fastest shutter I have heard of has got minimal exposure time of 1/4000 of a second, which is 250us. 8us error is 3.2% of the time, that's true. However - I have seen only 2 or 3 cameras with such short time, most of devices has got minimal time of 1/1000 or 1/2000, which gives error of subsequently 0.8% or 1.6% - such precision it acceptable for shutter testing and repairs, that's why I didn't really bothered very much by the Arduino error and focused on the impact of the photoelement.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Fred27
    Fred27 over 5 years ago in reply to sokol07

    sokol07  wrote:

    The problem is that I don't have any precise measurement device like an oscilloscope to test the transistor response.

    I just meant send a 1ms pulse to the laser without a shutter in the way and check that your code consistently measure 1ms. You're still relying on the accuracy of the Arduino's delay function, but at least you can check that your code is correct. Even better if you have 2 Arduinos as one can be set to do nothing apart from produce the pulses.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • sokol07
    sokol07 over 5 years ago in reply to Fred27

    The problem is that I don't have any precise measurement device like an oscilloscope to test the transistor response. That's why I believe the datasheet and hope practice follows the theory.

    At the moment of doing the project I wasn't familiar with any MC other than Arduino and I haven't gone beyond programming it in Arduino IDE. At the moment I'm slowly getting into STMs and I believe the device could be upgraded with some more advanced MC and using interrupts, faster operating clock, etc.

    For my measurements the device seemed ok - I've tested it with a few cameras with electronically controlled shutter which I know that they work correctly and the measurements were accurate on both slow and fast shutter settings (first version of the device was using a photoresistor as I wasn't familiar with the response times and i just had a photoresistor in my box. Using it caused the fast measurements totally unreliable...)

    Of course, there still is room for improvements, the main one is the housing for the device I'd say, but as I said - as I'm getting more and more knowledge I see more and more things I could do even better.

    As I'm using the LST for my cameras repairs I believe I will upgrade it one day.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Fred27
    Fred27 over 5 years ago

    A very nice and well documented project!

     

    I wonder if it would be worth checking the response of the phototransistor and the latency/jitter of your code by applying a pulse of a known width to the laser and checking the measurement you get is as expected? The project certainly seems to work well, but that might add some confidence that your measurements are accurate. I'm not familiar with the Arduino, but a lot of microcontrollers have hardware timers and interrupt-capable pins that could make time measurements more accurate and repeatable.

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • sokol07
    sokol07 over 5 years ago in reply to dubbie

    You can have both! I'm currently using one digital mirrorless, an Instax, 3 medium film size cameras and a dozen of 35mm film cameras. image

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube