Making a multichannel open colorimeter
We modified the Open Colorimeter firmware to use athe Adafruit AS7341 multichannel light sensor board.
Last year we launched the Open Colorimeter. The Open Colorimeter allows for measurements at a single wavelength at a time and can be used for all kinds of colorimetric tests. Currently we have 5 LED wavelengths available: 470nm (blue), 520nm (green), 570nm (yellow), 595nm (orange) and 630nm (red). These can be swapped out easily and we will be adding more LED wavelengths soon.
A question we are frequently asked is how do you choose the right LED for a test?
For most well-known colorimetric tests you can usually search the scientific literature to find the right answer. Check for peer-reviewed publications where they have used the test you are interested in using and look in the methods sections for the wavelength used to measure absorbance (lambda max or λmax).
However, many of our users are developing unique tests and need to experimentally determine λmax. We also prefer to check experimentally as well! The best way to do this is to use a spectrometer to find the wavelength that corresponds to the peak absorbance. We have some examples of using a USB spectrometer in this earlier post.
Spectrometers are great but are expensive to buy and maintain. We are always on the lookout for affordable and open spectrometer tools. We recently discovered the Adafruit AS7241 10-channel light sensor breakout board. While not anywhere near the level of a spectrometer, the board is extremely afforadable ($15.95) and uses the same STEMMA QT connector as the Open Colorimeter.
The Adafruit AS7341 10-Channel Light / Color Sensor Breakout is a multi-channel spectrometer, which is a special type of light sensor that is able to detect not only the amount of light present but also the amounts of light within different wavelengths. This means that you can use it to detect much better than the human eye is capable of, what color or colors of light is present.
AS7341 multichannel light sensor
The AS7341 light sensor is an multichannel light sensor. 8 channels cover the visible light spectrum from 415-680 nm (channels F1-F8). There is also an additional near-IR (NIR) channel and a clear channel (no filter). The visible and NIR channels use filters resulting in the spectal responsivity curves shown in the image below (taken from the datasheet).
For our purposes, we are most interested in the 8-channels in the visible light spectrum. The datasheet lists the optical characteristics of these channels along with their typical center wavelength (λp) and bandwidth/full-width at half max (FWHM):
- channel 1 (Violet): λp = 415nm, FWHM = 26nm
- channel 2 (Violet): λp = 445nm, FWHM = 30nm
- channel 3 (Blue): λp = 480nm, FWHM = 36nm
- channel 4 (Green): λp = 515nm, FWHM = 39nm
- channel 5 (Green): λp = 555nm, FWHM = 39nm
- channel 6 (Orange): λp = 590nm, FWHM = 40nm
- channel 7 (Red): λp = 630nm, FWHM = 50nm
- channel 8 (Red): λp = 680nm, FWHM = 52nm
As you can see from the image, the 8 channels cover the visible spectrum from approx. 400-675nm with some overlap between channels. The FWHM (bandwidth) for the channels ranges from 26-52nm. Bandwidth for the Open Colorimeter 5 LEDs is narrower at 10-25nm.
We plotted the center wavelength for these 8-channels on the visible light spectrum so you can visualize the channels as well:
Modification of the Open Colorimeter to Multichannel version
As mentioned above, there are other spectrometer-type boards available on the market, but the reason we were excited about this breakout board is that it also uses the STEMMA QT connectors we already use on the Open Colorimeter. In addition it has the same board dimensions as the High Dynamic Range Digital Light Sensor used in the Open Colorimeter. This means it is very easy to customize the Open Colorimeter to use the multichannel sensor without any soldering or modifications to the cuvette holder. Simply swap out the sensor board on the Open Colorimeter with the AS7341 breakout board as shown in the images below, upload the modified firmware and it is ready to use!
Multichannel Colorimeter Firmware
Adafruit has provided libraries and sample code for using the AS7341 breakout board which made it much easier to get started using it. Checkout their documentation to learn more below:
We wrote new CircuitPython firmware for the multichannel colorimeter. The firmware is still in development but you can find it here:
Once the firmware is uploaded to the Open Colorimeter, you will see a new menu and data screens. There are 3 modes available: Absorbance, Transmittance and Raw Sensor.
Currently we have data from all available 10-channels streaming to the Open Colorimeter screen. Shown below is the raw sensor mode.
Testing it out
To test out the multichannel version, we made solutions of four different food dyes (blue, red, yellow, green) and measured the absorbance for each dye at each channel. We have previously used these food dyes with a USB spectrometer as described in this post. The image below shows sample absorbance data for blue food dye.
In this bar chart, we plotted the absorbance data from all four food dyes.
You can see that each different food dye has a different absorbance pattern across the channels as we would expect.
- Yellow food dye absorbance is highest in channel 2 (blue, 445 nm)
- Blue food dye absorbance is highest in channel 6 (orange, 590nm) but is also high in channel 7 (red, 630nm)
- Red food dye has the broadest absorbance range, across channels 2, 3 & 4 with highest absorbance in channel 4, (green, 515nm)
- green food dye is a mix of blue and yellow and shows up in the same channels as blue and yellow with highest absorbance in channel 2 (blue, 445nm)