• Welcome to Photrio!
    Registration is fast and free. Join today to unlock search, see fewer ads, and access all forum features.
    Click here to sign up

Easy to build open source shutter tester

Recent Classifieds

Forum statistics

Threads
203,399
Messages
2,854,049
Members
101,817
Latest member
goodman1999
Recent bookmarks
0

bjpirt

Member
Allowing Ads
Joined
Feb 24, 2025
Messages
17
Location
UK
Format
35mm
Hi folks, thought you might be interested in this three point shutter tester I recently developed. It's very cheap to build and uses Bluetooth to communicate the measurements to a web page that can do nice things like show averages and how far off the shutter is from being accurate.

Screenshot 2025-02-24 at 09.03.07.jpg


It's all open hardware (and software) and the repository is here: https://github.com/bjpirt/shutter-tester

It uses the ESP32 as a microcontroller and so can make use of Bluetooth for communication. I've written a web app that uses Web Bluetooth built into Chrome to take the readings from the sensors and collate them all into a table so you can make averages and get a report of the calibration of all the speeds.

Screenshot 2025-02-24 at 09.04.09.jpg


You can check out how this works on this demo video I put together:

 
Welcome aboard @bjpirt and congratulations on this very interesting project! I like the elegance of the mechanical-electrical solution, requiring no additional housing etc. I hope you'll stick around on the forum to answer any questions that members will undoubtedly have.
 
Welcome aboard @bjpirt and congratulations on this very interesting project! I like the elegance of the mechanical-electrical solution, requiring no additional housing etc. I hope you'll stick around on the forum to answer any questions that members will undoubtedly have.

Thanks - I've been a long time lurker on the forum so will definitely be sticking around. I'm a big believer in the open source approach to things like this and that only works if they're not abandon-ware so if anyone has any questions (or has lots of cameras and wants to test it out!) fire away!
 
I've also got a few variants in mind based around the same software but with different hardware layouts
  • a reflective one that works from the front of the shutter and a thin mirror that will work with cameras without a removable back (e.g. early Barnack Leicas
  • a medium format version with different sensor positions for the different common negsative sizes (6x4.5, 6x6, 6x9)
 
Great, I'm very interested in learning more!

I'll start with probably the simplest question 😌

How do you attach the sensor to the film window?
 
How can the tester be made accessible to interested parties who do not want to or cannot assemble it themselves?

Is it possible to buy a finished device or have it assembled?
 
I find it encouraging and impressive how new solutions are being developed for film photography

Who would have thought that when the digital scythe swept through the photography world at the beginning of the millennium and film was declared dead 👻
 
How do you attach the sensor to the film window?
I actually just use a couple of small pieces of Blu-Tak - it sticks well and isn't too close to the shutter. However if that makes you nervous you could use an elastic band or some masking tape.

Is it possible to buy a finished device or have it assembled?
Not at the moment, but if there's enough interest I might make a small batch

Glad you like it!
 
What's it's accuracy and how have you verified it?

The sensors itself have a delay of 0.1-5us or so, depending on how they're implemented. Let's say single-digit delays.
The sensor readouts are interrupt-driven; typical inaccuracies in those ISRs (interrupt service routines) is in the order of the low-single microseconds.
Add to this the inaccuracy of a typical crystal that's used to time the ESP32 - this will be 40ppm or so, worst case.
So let's say this adds up to 10us, which is a particularly dark scenario. A 1/8000s shutter speed = 125us, so the timing on that one might be off by 8%, which is less than 1/3 of a stop. Again, that's very much a worst-case scenario.
 
why does a shutter tester have to be bluetooth and involve web sites?

can this be used as a stand alone tester hooked directly to an off line computer using a program via usb?
 
can this be used as a stand alone tester hooked directly to an off line computer using a program via usb?

Apparently so given the documentation linked to in #1: https://github.com/bjpirt/shutter-tester
Open a serial terminal to the ESP32 (this is built in to the Arduino IDE). You'll need to connect at 921600 baud.

Fire the shutter and it will print out the timings to the serial console. There are two sets of timings:

  • The time taken for each shutter to travel across the frame - it's important to try and get both shutters moving at around the same speed
  • The time each sensor was exposed for in microseconds, milliseconds and fractions of a second
 
What's it's accuracy and how have you verified it?

I've compared the timing against a Salae logic analyser and the Arduino was within a microsecond or so of that timing which I was pretty happy with. I haven't yet added compensation for the sensor width which will have more of an impact when measuring faster shutter speeds but I will be adding this shortly.

why does a shutter tester have to be bluetooth and involve web sites?
It doesn't, but that's the beauty of open source. I made this to scratch my itch and you're free to modify it as you see fit. For me, the web interface adds a lot of utility like being able to easily average up multiple readings and perform deeper analysis than you would be able to do with just a serial or screen output. Basically, I got sick of entering readings manually into a spreadsheet when calibrating a camera 😀 It also keeps the hardware required to an absolute minimum.

Incidentally, it's not actually sending data out to a web server, it all runs in the browser and can be run locally if you want.
 
"uses Bluetooth to communicate the measurements to a web page that ....

I've written a web app that uses Web Bluetooth built into Chrome to take the readings from the sensors and collate them all into a table so you can make averages and get a report of the calibration of all the speeds."


so what does this mean in the op post?

"Incidentally, it's not actually sending data out to a web server, it all runs in the browser and can be run locally if ...."

ok so just plug it into a usb port and it will send data to my browser off line?

im sorry for my lack of knowledge for this technology.

ive used a calumat and an assortment of other stand alone shutter testers when i had my business. they never needed browsers n bluetooth or even a computer.
 
Last edited:
"uses Bluetooth to communicate the measurements to a web page that ...."


so what does this mean in the op post?

I think this is the difference between a web page that's executing in your browser and a web server that exists on the internet.

This uses Javascript that's all running client side to communicate directly with the shutter tester and so everything is running locally on your machine and so your computer could be offline and this would still work fine.

Edit: to be clear - it's not an internet connected shutter tester 😀
 
Getting these things [focal plane shutter testers] to detect errors in shutters at 1/1000, 1/2000, 1/4000, and 1/8000 can be tricky. Little changes in the alighment of the sensors, the holes and the light source can have big effects.
 
The sensors itself have a delay of 0.1-5us or so, depending on how they're implemented. Let's say single-digit delays.
The sensor readouts are interrupt-driven; typical inaccuracies in those ISRs (interrupt service routines) is in the order of the low-single microseconds.
Add to this the inaccuracy of a typical crystal that's used to time the ESP32 - this will be 40ppm or so, worst case.
So let's say this adds up to 10us, which is a particularly dark scenario. A 1/8000s shutter speed = 125us, so the timing on that one might be off by 8%, which is less than 1/3 of a stop. Again, that's very much a worst-case scenario.

All of little relevance.

The accuracy will depend much more on how it detects the curtains, width of sensors, angle of light source etc. etc. and not on the component tolerances.
 
I've compared the timing against a Salae logic analyser and the Arduino was within a microsecond or so of that timing which I was pretty happy with. I haven't yet added compensation for the sensor width which will have more of an impact when measuring faster shutter speeds but I will be adding this shortly.
So you don't know how accurate (or inaccurate) it is when measuring real shutters then.
 
So you don't know how accurate (or inaccurate) it is when measuring real shutters then.

I want to compare it against a known good tester - if anyone is able to help out with this I can send them one to play around with. If you have any suggestions on good ways of checking accuracy I'd be keen to hear them
 
Last edited:
All of little relevance.

The accuracy will depend much more on how it detects the curtains, width of sensors, angle of light source etc. etc. and not on the component tolerances.

That sounds interesting, since you could save costs in series production by using the cheapest components with the largest tolerances.
 
I want to compare it against a known good tester - if anyone is able to help out with this I can send them one to play around with. If you have any suggestions on good ways of checking accuracy I'd be keen to hear them

Minolta, for example, specified a tolerance of 0.5 EV for the exposure metering system of its 7000 AF. This is completely sufficient for practical work.

And from what I understand from your explanations, this is true.
 
All of little relevance.

The accuracy will depend much more on how it detects the curtains, width of sensors, angle of light source etc. etc. and not on the component tolerances.

So do the same analysis for those factors for a realistically pessimistic scenario and tell us the outcome.
It's easy to be critical of someone's work; contributing constructively is more challenging, but a lot more interesting.
 
So do the same analysis for those factors for a realistically pessimistic scenario and tell us the outcome.
It's easy to be critical of someone's work; contributing constructively is more challenging, but a lot more interesting.

Sorry, did I rub you up the wrong way or something?

It's not for ME to do any analysis of anything. It's the guy who designed it and is trying to sell it to prove it works.
 
I want to compare it against a known good tester - if anyone is able to help out with this I can send them one to play around with. If you have any suggestions on good ways of checking accuracy I'd be keen to hear them

In product development, verification should be a planned exercise. I think you have a way to go yet.
 
It's the guy who designed it and is trying to sell it to prove it works

Not trying to sell anything - it's all open source and I have a day job. I was just hoping to engage the community here in creating something useful for everyone to use.
 
Photrio.com contains affiliate links to products. We may receive a commission for purchases made through these links.
To read our full affiliate disclosure statement please click Here.

PHOTRIO PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Ilford ADOX Freestyle Photographic Stearman Press Weldon Color Lab Blue Moon Camera & Machine
Top Bottom