Inspiration

Last month, I caught a heinous stomach infection after drinking some questionable tapwater. 

This opened my eyes to a broader problem: water contamination is rampant, taking more than 500,000 lives every year (WHO, 2023).
And the vast majority could be prevented with proper monitoring. 

Today's tools to detect water contamination (i.e. microbial cultures, DNA-seq) are often slow, expensive, and inaccurate.

As a bioengineering student, I wanted to develop a more practical diagnostic from first principles.


Summary

In this project, I developed:

1) An instant (5-second) chemical test that flags bacteria with visible oxygen bubbles 

2) A $10 LED module that detects these bubbles as optical fluctuations 

3) A local GUI that reads this data and displays bacterial concentrations

Together, this creates a rapid and highly-accurate pipeline to detect bacterial contamination. 

Every feature was designed to be practical and frugal, so this tool could be used anywhere on-demand.


Process

The mechanism of this project was inspired by a microbiological technique called catalase detection (Al Talebi et al., 2024)

During their metabolism, bacteria can produce destructive byproducts like hydrogen peroxide.

To prevent damage, many bacteria produce an enzyme called catalase to slice hydrogen peroxide into hydrogen and oxygen gas. (If we detect these gas bubbles in water, we've flagged live bacteria!)

Typically, catalase detection is binary (positive or negative) and needs highly concentrated bacteria to work.

In this project, I hacked up a dual-wavelength LED spectrometer that detects gas bubbles as optical fluctuations. This method was far more sensitive (~10,000 colony forming units/mL) and could quantitatively estimate bacterial concentrations.

In the first 24 hours, I poured all my time into planning experiments, replicating the catalase reaction, and biking to CVS to replenish my hydrogen peroxide.

From there, I focused on Tx/Rx circuitry with the Arduino Uno R3, with two LEDs coupled to a central photodiode and porting signals to my laptop over USB.

Many hours later, I managed to build a basic GUI (HTML/JS) receiving serial data and calculating bacterial concentrations with simple regression. Depending on time, I might also design a PLA casing on Fusion 360 (I'm still scrambling...)


Challenges and Learnings

Here were a few unexpected roadblocks:

  • Controlling for ambient light to detect gas bubbles (solved using multiple LEDs and a DIY dark chamber for initial prototypes)

  • Connecting to COM ports via static GUI (this shouldn't be difficult, I was just misreading the documentation online)

  • Building a casing for my hardware that minimizes variability (i.e. external motion, sensor-to-sample distance, etc.)

This project was insanely interdisciplinary! Debugging everything has already taught me so much about microbiology, optics, and serial data monitoring. Will update this as learnings evolve!


What's next for LightCell v1.0

This project began as a TreeHack, but it's grown into something more significant for me.

Reliable water monitoring saves lives. With further testing, I want to bring my bacterial detection tool to the field, starting with the communities around my home in northern Canada affected by waterborne illnesses.


Built With

Share this project:

Updates