OPTICAL DENSITY SENSOR

Background

I worked in the CAD lab under the guidance of Charlene Xia during the summer of 2022. I was tasked to create an inexpensive modular optical density sensor system that autonomously measures the density of spirulina grown in artificial environments.

An optical density sensor quantifies the density of a liquid sample with the intensity of the light that passes through the sample and the intensity of light before it enters the sample. However, many commercial optical density sensors are expensive, which is a hindrance in accessibility to biological research.

The purpose of this device was to analyze how climate change affects spirulina, a blue-green algae that is a source of food for many aquatic species and has a spiral shape that changes with respect to increases in water temperature.

The device is made up of three components: a 3D printed fluid channel and casing, Peristaltic Pump with a L298N Motor Driver, Arduino Nano 33 IoT with Breadboard—all assembled on a lego base plate.

Optical Density Sensor

Fluid Channel

I designed a clear channel that allowed for water containing the spirulina to flow through and had nosal at each end that attached to a peristaltic pump that pumped water through the OD sensor. The clear channel was sandwiched by two 3D printed casings that contained openings for a red LED and 3 photoresistors that measure transmission, reflection, and calibration.

first spinner

Sensor Enclosure

The clear channel was sandwiched by two 3D printed casings that contained openings for a red LED and 3 photoresistors that measure transmission, reflection, and calibration.

centrifuge calculations

Lego Modularity

A key feature of the fluid channel-sensor system is its enclosure, designed to fit onto a standardized LEGO base plate. This modular design enables seamless integration of additional optical density sensors with different LEDs, allowing for future expansion and alignment on the LEGO board as needed.


Autonmizing Pump

I reversed engineered an existing peristaltic pump and replaced its step motor with a L298N Motor Driver in order to permit the device to be controlled autonomously with an Arduino. Programming in C++, I designed software that collected both serial plotting data of the values read and the serial monitor data and automatically saved them in a CSV file for further analysis.


Final Assembly