Post Go back to editing

Strange readings using the 180 degree sensor on the EVAL-CN0409-ARDZ

Hi, during our master thesis we are testing different methods for preforming turbidity measurements on concrete slurry water.  When doing tests on the CN0409 we expect the 180 degree measurement to decreases when the slurry concentration increases, according to the Beer-Lambert Law. This is however not the case using our setup, between the concentration 0.4 and 0.6 the measured value are increasing. We are wondering if it's some error in the hardware, software or anything else?

(We have made 180 degree measurements using a cheaper sensor in combination with Arduino, and those results follows the Beer-Lambert Law.)

We are using EVAL-CN0409-ARDZ in combination with EVAL-ADICUP360.
The code is taken from, with the small modification that the sensor readings are sent using AppPrintf(). This is done in the function CN0409_CalculateRawData() in src/CN0409.c using au16DataSlotA[u8Count] and au16DataSlotB[u8Count].

A plot of the sensor readings as well as photos of the different concentrations are included below.

Sensor readings:


Image didn't show, made it smaller
[edited by: Karlsson at 12:30 PM (GMT -4) on 12 Apr 2021]
  • Hi Karlsson,

    I will look into this. Just for clarification, are you using the same liquid container for the different concentrations across all tests? Does the board still use the default IR LED and photodiode?

  • Thanks.
    Yes, we are using the same container for all tests (empties it and filling it with a new concentration). 
    Yes, we use the default IR LEDs and photodiodes of the EVAL-CN0409-ARDZ.

  • Hi Karisson, 

    Can you share with us the results you are getting using other a other products you are using and also if you can provide the model name of that board for us to check its specs and help us see what we are missing?



  • Our other Sensor is SEN0189 ( in combination with a Anrduino UNO:

    The result from this sensor is:

    which looks like a negative exponential function (as in Beer-Lambert law).

    Beer-Lambert law T = 10^(-L*epsilon*c) where T is transmittance (proportional to the measured voltage), L is the length that the light travels thru the sample, epsilon is the the molar attenuation coefficient and c is the concentration. 

    Here is links and photos of the Analog Devices we are bought:



  • Hi Karlsson,

    I already have the setup ready to test different concentrations of cement slurry. You mentioned that you have had changes in the software. How did you do the initial calibration for NTU? Did you use known NTU calibration solutions or did you use samples from the cement solution? This will help me recreate the issue that you are seeing.

  • We have tried calibrated both using calibration fluids and enter values manually.  This will not effect the measurement since the values are exported when they are measured and not when they are converted to NTU/FTU.

    Program flow in CN0409_TurbidityCalculation():

    • Calibration?... (update calibration parameters)

    • CN0409_CalculateRawData():
      • declare  fpSlotAAverage and fpSlotBAverage
      • for loop (mean of 256 samples):
        • for loop (photo sensor 0-3, u8Count)
          • Here we have added code to extract (int)au16DataSlotA[u8Count] and (int)au16DataSlotB[u8Count], and sort them a cording to u8Count.
        • end
      • end
    • Calculate NTU/FTU using calibrated parameters
  • Hi Karlsson,

    I have replicated your setup but with fewer points of concentration for the concrete solution. The results are similar to the one your seeing.

    Cement Slurry Concentration



























    This may be an effect caused by the clear cylinder container since the suspended solids in concrete slurry are very large. Here are some articles I have checked for this:

    Let me know your thoughts on this. Thanks!

  • I want to start by thanking for all the help, it's nice knowing the results can be replicated using a similar setup.

     I read the articles you linked and I'm not really convinced. The size and concentration changes the way that the light is scatters, but I think that any scattering should lower the light intensity that reaches the 180° sensor (compared to no scattering at all). 

    We also found another way to replicate the increased sensor reading. By taring a standard A4 printer paper into smaller pieces and place a single layer of that paper in front of the sensor (or in front of the LED) we get a higher reading than without the paper. If we place two layers of paper in front of the sensor (or LED) we get a lower reading than without the paper. The same is true if both sensors (or LED) is covered at the same time (higher for single layer / lower for double layers). This makes us skeptical to the clear cylinder theory.

    Our best theory so far is that the sensors have a bad alignment and that we accidentally measure forward scatter instead of transmitted light, since this should increase with concentration and then decrease. However it seams unlikely that both LEDs and sensors would be badly aligned and that it could be replicated on another device. I also don't think that this theory supports the decreases in sensor measurements for the concentrations 0-0.4.

    In short, we don't have any good theory of what casing this behavior but we are relay happy about the time you have put in to help us.


    (Image from

  • Hi Karlsson,

    I wouldn't be surprised at the alignment - note that we're just relying on the LED's built-in lens, nothing fancy. It's intended as a reference design for customers that would eventually be using their own optics. As you have demonstrated, different customers have widely different situations. The CN0409 was tested extensively with turbidity calibration solutions (referenced in the circuit note), but never with "real-world" corner cases.

    Take a look at the CN0503 for comparison. this circuit has a much more constrained optical path, a focused beam, and uses square cuvettes.

    The best answer depends on your price/performance/quantity requirements. If your end goal is simply to take the measurement and the DFRobot sensor you reference above does the job, the it's probably the right answer.

    However - if your goal is to design and build a better turbidity meter, the CN0409 and CN0503 are intended as starting points. The ADPD105 and ADPD4101 (and similar mutlimodal sensor front ends) greatly simplify the circuitry that would have been traditionally employed - choppers, lock-in amplifiers, discrete ADCs, etc.


  • Hi Mark, I just want to clarify that we don't think that the CN0409 is a bad product. It's really fast and has a good signal to noise ratio. As mentioned in the circuit note the CN0409 performance is well tested and has good results on liquids < 1000 NTU. We suspect that our measurement at 0.3% concentration is about 1000 NTU and under 0.4% the sensor performs as expected.

    Since we writing our master thesis on different ways to measure turbidity and not a specific sensor, it's more interesting to us why the measurement looks likes it look than if there is a better product. It's hard to write a theses report when the test results don't correlate to the physics explained in the theoretical part of the report.

    That the alignment of the sensors isn't exact could explain the increase in light intensity, but then the decrease in light intensity between 0-0.4% becomes a problem.

    So we aren't complaining about the performance of the sensor. We have just encountered a measurement that we can't explain. Since we ain't any experts on this area and don't know if there is some physics we don't know about or if this is a result of some filter in the sensor, we contacted the community.