Strobr Scope

Check it out on the App Store

Check it out on Devpost

Check it out on GitHub

Strobo (aka Strobr Scope aka Strobr) is by far the coolest and most ingenious hackathon project I’ve ever worked on. I was at PennApps 2017f with 3 of my classmates. We had absolutely no idea what project we wanted to work on, even a few hours into the event. We eventually took inspiration from a video by William Osman, so we decided to make an iOS based stroboscope. A stroboscope is a device used to measure the rotational frequency of objects by using a periodic flashing light as well as the principle of persistence of vision - if you want a better explanation watch the William Osman video above. We initially wanted to do this by just flashing the flash, but a. that has been done before and b. it probably wouldn’t work that great due to the need for a very high power light as well as high refresh rate, and I doubt the led driver on an iPhone can handle that. However one of our team members suggested the idea to use a variable frame rate camera feed, which we all immediately liked and thought was super clever. This was cool because not only had no one ever done it before, but also it had the potential to be an improvement on the technology.

The variable frame rate method provides two main benefits over the tradition persistence of vision method. Firstly, it allows the measurements of strobing lights - something we actually discovered accidentally. As one probably knows, standard US outlets use 60hz 120V AC mains power, and in the shitty lights at UPenn, this high frequency flickering that is normally impossible to see, is able to be measured using our app. The second main benefit is that it is non-intrusive, it doesn’t blast people with seizure inducing strobes when measuring how fast things are spinning. However there are some downsides to this method. The first one is that the iPhone camera only goes up to 240 hz (14,400 RPM) which may be a bit low for some applications. The second one, which turned out to be the biggest pain in the ass, is that when using high refresh rates on cameras, lighting is extremely important. When refresh rates get so high, the amount of time for the sensor to capture light decreases dramatically, resulting in very dark images. This can be slightly combated using different aperture settings, but that has other unwanted side effects, so a balance must be met.

Building the app itself wasn’t too complicated as it was simply a camera feed with some controls to manipulate the frequency (as well as a button for the flash to increase lighting). If you are interested, the code can be found on our Git repo. In terms of UI, the two important features were a way to adjust the frequency (obviously), as well as an easy way to double and half the frequency, as in a system where something is spinning at 60 hz, the stroboscope would look to be tuned at 30hz, 15hz, 7.5hz, etc. So the way to determining what it’s true frequency is to double the frequency until you see double, then half to go back to the true frequency. The last feature we wanted was a to switch between hz and rpm to have easier units to understand what’s going on. The way we solved this was to use sliding up and down to tune the frequency and swiping left and right to half and double the frequency. We also had it where tapping the frequency switches it into rpm’s and vice versa.

Check it out on the App Store

Check it out on Devpost

Check it out on GitHub

Here are the 3 people I worked on the project with:

CQCumbers

Lachm

Marie