$9 BLF Spectrometer - Interest?

I was wondering if the BLF community is interested in continuing the development of the $9 <a href=https://store.publiclab.org/collections/spring-2020/products/papercraft-spectrometer-intro-kit?variant=6100877213724>Papercraft Spectrometer’s web-app? The result would be nearly free (and open-source) Spectrometers for all of us! (For comparison, my Sekonic cost $1600)


Their $9 kit needs no improving, but it’s web-app has incomplete development. I was thinking, if BLF has some members that can do javascript, or PHP, we could whip up something better, and call it the BLF Spectrometer! And just buy their kits. I have a proper Sekonic C-800 Spectrometer we can use to verify progress. A server folder too if we want.
Here’s what they have for functionality now:

That’s pretty cool. Here’s how it works. So they are able to throw a rainbow across the lens of the camera. Then they look at it like a black and white image, from left to right. The position on the screen tells the wavelength, and the brightness tells the intensity.
Now, as a BLF project, we would want to achieve CCT and Duv info too. This may take some Googling, but the how-to’s are out there. I admit, accuracy is yet to be seen.

I had to photoshop a screenshot really bad to try and stretch the data into something that can be compared. As you can see, they have even more data available, which you can especially see around the 570nm-600nm range. Impressive! (You can’t adjust smoothing on the Sekonic :frowning: )

I think I have one of those, but never used it. I haven’t done javascript in a long time. The coding is the easy part anyway.

What is the sensitivity for the Papercraft compared to your Sekonic?

Myself I went for a “real” spectrometer instead of one of the DIY smartphone devices because I did not look forward to the calibrations involved to get it right, to the level that you can accurately measure CRI, duv etc.

To get the wavelengths matching correctly is relatively straightforward when using a spikey light source with known peaks. But to couple your smartphone camera readings for each wavelength correctly to radiant power needs for one testing light source a calibrated spectrometer spectrum next to the Percraft spectrum and calculate a “correction spectrum” by dividing the two. This correction can be implemented in the software. The question though is if each type/brand phone camera sensor has the same or similar correction, and how sensitive parameters like CRI and duv are for small errors in this calibration.

But finding out all this may be one of the nice challenges of this project :slight_smile:

Smartphone cameras do adjust overall brightness automatically, but they record their decision in the meta-data of the photo. You can see this by right-clicking a picture, and going to Properties>>Details>>Brightness. The one I am looking at right now says Brightness = –3.560502. That’s critical data if we want to do a Lux calculation.
You can buy one here

I agree, the coding part should be fairly easy. We just need to find a BLF member motivated enough to go for it.

It looks more sensitive than my Sekonic from what I see. Have a look at the 570nm-600nm range. Anyway, we can control how much smoothing we apply. In the very first spectrograph, I applied smoothing=25. This is pretty heavy, and makes it look a lot more like the Sekonic. But in the later spectrographs I posted, I only did smoothing=3. This is more true to reality, though does give the user the feeling something is sub-par. That’s probably why Sekonic forces it’s users to leave smoothing turned on. It “feels” more right.

As for calibration, it’s really just a matter of getting the alignment the same each time you put it on the phone. A person could simply purchase a spare phone case for their phone, and glue the Papercraft Spectrometer to the case. Then it could be popped on an off without losing calibration. :slight_smile:

I am interested in and will follow this project. Unfortunately, I don’t have any meaningful time to contribute in the near future.

It looks like the output is shown in that graph by channel (RGB) and then some form of merged spectra on the black line. To calibrate it to decent accuracy may involve figuring out how to weight each channel in the combined result, and that in turn will vary by wavelength.

As long as there is some sort of raw data output available, that should not be overly complicated.

There is clearly some clipping occurring in the sample graphs shown, which will affect the accuracy, but that can be addressed by changing the camera exposure settings.

If I remember right, there is some information about calibration on the project Wiki, but I have not looked at it in a long time. Incandescent light bulbs, the afternoon sun, and sodium lights are all potentially useful calibration or reference check sources. Monochromatic LED’s can also help by providing fixed references.

^ Since I have both a Papercraft and a Sekonic, it’s really a matter of shooting any light source and trusting the Sekonic. I had wondered about weighting each channel, but I think this has already been taken care of by the smartphone manufacturer.

The data for this project comes from a single row of pixels in the camera photo.

Wouldn’t having a pattern of known colours illuminated with CRI100 source (sunlight) be enough to do automatic sensor calibration?

Lmao.
This just won’t work.
Mike

If development is needed I would rather see the effort go into DIY kits based on arduino and pi devices and cheap (real) sensors. Basically, an extension of what bmengineer has done here with his RuTiTe: RuTiTe - my standalone runtime tester project

Sure, it would be 4-5x the price i’d guess but you would have a device with more functionality and (maybe) better consistency. Some of the costs could be deferred for people who already have compatible boards too.

My .02

Are you proposing adding features to spectralworkbench or replacing it? Because replacing it would be a lot of work.

Uh, SpectralWorkbench has been working since 2013, and generated everything you see in the opening post. Which works. Better than the Sekonic by some measures.

If you feel 8-bit hobby tech is the right platform, go for it. But it will be hard for noobs to setup, and performance will royally suck when compared to the processor in a smartphone.
I recommend using a smartphone platform like everything successful does these days.

Programmer’s choice. Personally I would save time and nuke spectralworkbench from orbit :crown:

I’ve owned 3 Sekonic, sometimes 2 at once, and they all had slight variations. The important thing is that the tool is useful.
The Papercraft uses the Mercury emission lines from a standard CFL bulb to calibrate wavelengths.

For this device, the rainbow is just the raw data the app reads.

I dont understand how this read rainbow.

Looks interesting to me the same way as DMM with osciloscope (ploting curves) functions. Cheap version giving basic info to get impression about the matter.

It reads brightness vs position. It’s actually all any spectrometer does, everything else is calculated from that.

I agree. :slight_smile:

Following