This week we continued work on our standalone colorimeter project, specifically the next step of writing firmware for displaying data via the Adafruit PyBadge.
What is a colorimeter?
Colorimeters are analytical devices commonly used to quantify the concentration of an analyte in a sample based on a chemical (color) change. The device measures the amount of light of a specific wavelength that is absorbed by the test sample and converts that to concentration. Absorbance is related to concentration (Beer-Lambert Law) so the greater the concentration of a sample, the greater the absorbance value. Colorimeters are extremely flexible lab instruments. For example, they are very useful when investigating water quality and can be used to measure water parameters such as water turbidity, chlorine content, pH, water hardness, phosphate content and more. Aquarium & aquaponics hobbyists can use colorimeters to monitor levels of ammonia, nitrate, nitrite, phosphate in a tank. We are particularly interested in using colorimeters to measure pollutants and contaminants such as lead, oil, diesel and pesticides in water and soil.
A list of some of the tests we have used with the colorimeter can be found here and in the Table below:
Standalone colorimeter design
We recently updated our open source colorimeter design to make a standalone version. This version can be assembled without any soldering. We previously wrote about the colorimeter hardware design in this blog post:
Colorimeter PyBadge firmware
As mentioned in the above post, the next steps were writing firmware for our colorimeter. We decided to use the Adafruit PyBadge as our initial target hardware platform. The PyBadge has a 160x128 color TFT display, Lipo battery connector with recharging capability, a 4-pin I2C connector for connecting the light sensor and on/off switch and buttons for user input. In addition, the PyBadge can run circuitpython making firmware development quick and easy.
This week we wrote some simple firmware with two goals in mind:
- Allow the user to blank the colorimeter by pressing the PyBadge's "A" button
- Display a live view of the sample absorbance value on the PyBadge's TFT display
Items we used
- Cuvette holder, open source design
- Adafruit light sensor, $6.95
- Colorimeter LED board
- Adafruit PyBadge, $25
For preliminary testing, we are using food dyes which can be found at most grocery stores. We prepared a serial dilution from 20-100% of yellow food dye, and measured absorbance with the blue 470nm wavelength LED. As expected the plot was linear.