Colorimeter Build

Concept

A 3D-printed, Arduino-based colorimeter that reads absorbance at multiple wavelengths, covering all three assays from a single device.

Key insight: all three assays read in the 530–650nm range:

  • Salicylate: 545nm
  • Oxalates: 607nm
  • Total amine ratio: 522nm vs 650nm

A multi-channel spectral sensor eliminates the need to swap LEDs between assays.

  • Manufacturer: AMS/SparkFun
  • 18 calibrated spectral channels, 410nm–940nm
  • Three integrated sensors (AS72651/52/53) on one board
  • I2C interface, Arduino library available (SparkFun)
  • Covers all three assay wavelengths simultaneously
  • ~$65 from SparkFun

This is a significant upgrade over single-LED + photodiode approaches for this multi-assay application.

Bill of Materials (Hardware)

ComponentSourceEst. Cost
AS7265x Triad Spectroscopy SensorSparkFun (DEV-15050)~$65
Arduino Nano or ESP32Amazon/AliExpress$5-15
Plastic cuvettes (100 pack)Amazon~$10
3D printed cuvette holderSelf (P1S)~$1 filament
3D printed enclosureSelf (P1S)~$2 filament
Misc: wire, resistors, connectorsOn hand~$5
Total~$85-100

Design Notes

Cuvette Holder

  • Must be light-tight except for sensor window
  • Sensor positioned directly against cuvette
  • 3D print in black PETG or PLA — light blocking critical
  • Standard cuvette dimensions: 10mm path length, 12.5mm square
  • Reference: open-source colorimeter designs on Appropedia, Journal of Chemical Education (2025)

Enclosure

  • Light-tight overall
  • Port for cuvette insertion
  • USB connection to Arduino exposed
  • Consider OLED display for standalone operation vs USB-serial to laptop

ESP32 Option

  • Adds WiFi for direct data logging to Google Sheet or MQTT
  • Relevant for community data collection use case
  • Only slightly more complex than Nano

Firmware

Core Logic

1. Read blank (distilled water in cuvette)
2. Record baseline voltage per channel
3. Insert sample cuvette
4. Read sample voltages
5. Calculate absorbance: A = log(I₀/I) per channel
6. Output channel values via serial

Assay Modes

  • Salicylate mode: report A545
  • Oxalate mode: report A607
  • Amine mode: report A650/A522 ratio

SparkFun AS7265x library handles raw channel reads. Absorbance calculation in sketch.

Calibration Procedure

  1. Zero with distilled water blank
  2. Run known concentration standards for each assay
  3. Record absorbance vs concentration
  4. Store calibration curves in EEPROM or companion spreadsheet

References

  • SparkFun AS7265x hookup guide
  • Journal of Chemical Education (2025) — 3D-printed RGB LED photometer
  • Appropedia open-source colorimeter (Anzalone et al. 2013)
  • Instructables DIY LED photometer with Arduino
  • DIY Colorimeter AS7265x + ESP32 (how2electronics.com)
  • Cuvette holder STL — to be designed
  • Enclosure STL — to be designed