Has anyone tried using a setup of RGB LED directed to cuvette and the LDR on the opposite side? using arduino to and get the RGB values..

Currently having problems with calibration... I was able to get R,G,B values of colored papers... however with colored liquids inside a cuvette I'm not getting any good results (i.e the Red/Blue/Green values goes way up like 5000++)

Used white and black paper for callibration..

No idea for liquid...

  • 1
    You gave us nearly no information. Please show your circuit and your code. And what does "not getting any good results" mean? Explain what you expected and what you actually see.
    – chrisl
    May 3, 2019 at 16:47
  • Never tried with a cuvette, but that is exactly how (though with an array of photodiodes) modern cheap flatbed scanners work.
    – Majenko
    May 3, 2019 at 16:48
  • Also, what do you hope to achieve doing this? The results will be, from a spectrophotometric point of view, meaningless. You are only testing 3 wavelengths within a whole spectrum of colour.
    – Majenko
    May 3, 2019 at 16:52
  • As for the RGB values, I needed it for the computation of vector values at different concentration perentages
    – SoraCode
    May 3, 2019 at 17:15
  • instructables.com/id/Using-an-RGB-LED-to-Detect-Colours Im using this exact circuit to get the RGB values
    – SoraCode
    May 3, 2019 at 17:27

1 Answer 1


Your are probably doing the white calibration with some clear liquid, like water. The LDR is then lit directly by the LEDs, and is getting too much light. It's resistance is then very low compared to the pull-down resistor in series with it. You end up measuring something very close to 5 V.

You should try to reduce the amount of light hitting the LDR. A neutral density filter (the kind used in photography) would be ideal. Alternatively, you could increase the distance between the LEDs and the LDR, and put some translucent paper in between. You could also add a diaphragm (a small hole). Then, you can also lower the resistance of the pull-down in order to get lower voltage readings, but beware not to draw too much current.

A comment about the instructable you linked to: owing to the highly non-linear characteristic of the readings you get, it is quite likely that you get unequal RGB vales from a neutral grey. Some kind of linearization (estimating actual light fluxes) would be needed if you want neutral greys to be measured as neutral greys.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.