A Simple Turbidity Monitor and Control System for Microalgae

Introduction: A Simple Turbidity Monitor and Control System for Microalgae

About: an environmental researcher, learning electronics, programming, and sensors by tinkering

Let just say you are bored with sampling water to measure turbidity, a gross term indicating any small, suspended particles in water, which reduces light intensity with either with an increasing light path or a higher particle concentration or both. So, how to do that?

Below are several steps I took to build an automatic monitoring system for biomass density of microalgae. This is micro-algae that are in sub-micron size, well-suspended in water, and rather have an extreme lifestyle, converting light energy and reduce carbon dioxide into newly synthesized biomass. That is enough about the microalgae.

To measure turbidity or biomass density, in my case, I need to measure the light intensity in the detector side which is converted to a voltage readout. One obstacle I had in the beginning to find a suitable sensor that works with the microalgae species I worked with.

Turbidity can be measured by a spectrophotometer. The laboratory spectrophotometer is expensive and mostly measures one sample at a time. Somehow, I was in luck that I bought a cheap turbidity sensor I could find on ebay.com or amazon.com, and to my surprise, the sensor works well with the microalgae species I experimented.

Step 1: Parts Needed:

1. A turbidity sensor like this one in the photo which connects the tubing. The one in the listing has an open passage unless you plan to submerge the sensor.

2. An Arduino board . It could be Nano, or Mega/Uno (if Yun Shield is used)

3. A potentiometer. Better to use the precision one like this.

4. An OLED screen. I used SSD1306, but other types of LCD such as 1602, 2004 would work (and revise the code accordingly).

5. A replay board with two channels like this

6. Two of three-position switches for additional manual control

7. Pumps: I bought a 12V small peristaltic pump , and used a Cole Parmer dual channel pump in the lab as the main pump. If the main pump only has one channel head, then use the overflow tube to collect the surplus biomass, beware that a possible skimming of biomass on the top of the reactor if you are using a vigorous airlift mixing.

8. A Raspberry Pi or a laptop to log data for Option 1 or a Yun Shield for Option 2

The total cost is in the range of $200. The Cole Parmer pump ranges about $1000, and not included in the total cost. I did not make an exact summation.

Step 2: Option 1: Log Data to a Computer/ Raspberry Pi Via USB Cable

Using a computer or a Raspberry Pi to record some output data.

The recording is can be done by the logging option like Putty (Windows) or Screen (Linux). Or it can be done by a Python script. This script requires Python3 and a library called pyserial to be functional. Beside the logged data are easily accessible in the laptop or in Desktop Remote, this approach takes advantages of the time on the computer that is logged into the file along with other outputs.

Here is another tutorial I wrote for how to set up a Raspberry Pi and collect data from Arduino. It is a step-by-step guide to get data from an Arduino to a Raspberry Pi.

And the code for Arduino is hosted here for the Option 1: operating turbidity sensor system and logging data into a computer.

As I mentioned above, this is a simple system, but for the sensor to produce meaningful data, then the subject of measurements such as microalgae, dusk, milk, or the suspended particles needed to be suspended, relatively stable.

The recorded file contains the time stamp, set point, measurement value of turbidity and when the main pump was on. That should give you some indicators of the system performance. You could add more parameters to the Serial.println(dataString) in the .ino file.

A comma (or a tab, or other characters to split the data into each cell in the spreadsheet) should be added in each output so that the data can be split in Excel for making a graph. The comma will save you some hair (it saves mine), especially after having a few thousand lines of data, and figure how to split numbers and forgot to add a comma in between.

Step 3: ​Option 2: Data Is Logged to the Yun Shield

Using a Yun Shield on top of Arduino Mega or Uno to log the data.

The Yun Shield runs a minimal Linux distro, and it can connect to the Internet, have USB ports and SD card slot, so the data can be logged to a USB stick or a SD card. The time is retrieved from the Linux system, and the data file is retrieved from an FTP program like WinSCP or FileZilla or directly from USB, SD card reader.

Here is the code hosted on Github for Option 2.

Step 4: Turbidity Sensor Performance

I used an Amphenol turbidity sensor (TSD-10) and it comes with the datasheet. It is harder to verify the product from the online listing. The datasheet includes a graph of the voltage readout (Vout) with different turbidity concentration represented in Nephelometric Turbidity Unit (NTU). For microalgae, the biomass density is usually at wavelength 730 nm, or 750 mm to measure particle concentration, called optical density (OD). So here is the comparison between Vout, OD730 (measured by a Shimadzu Spectrometer), and OD750 (converted from NTU in the datasheet).

The most desirable state of this system is turbidity-static or turbidostat that the system can automatically measure and control biomass density at (or close) to a set value. Here is a graph showing this system performed.


This turbidity monitoring and control system (often called turbidostat) is one of three units I worked in an attempt to build an advance photobioreactor. This work was carried out while I worked at Biodesign Swette Center for Environmental Biotechnology, Arizona State University. The scientific contributions of this system to advance algal cultivation was published in Algal Research Journal .



    • Fix It! Contest

      Fix It! Contest
    • Metalworking Contest

      Metalworking Contest
    • Creative Misuse Contest

      Creative Misuse Contest