Sciencemadness Discussion Board

simple light meter

jan1234 - 29-9-2025 at 00:21

hi there!

i am logging different parameters (T, p, humidity) on a sd card via arduino and a BME280 sensor. now i want to integrate a very simple light meter by using photo resistors.

i tried, so far it worked on my breadboard. but now i got a bunch of curves from different resistors and wondering, how to proceed further. i know i won't be getting something that is comparable outside of my setup, since i don't calibrate it with a known lightsource - this is not the problem, i just want to know on which window my potted plants get the most & longest light of the day.

my problem is now the arrangement of the resistors. they are highly direction-dependend since they just face one direction, so a little mechanical disturbance will change all the values.

my two questions to you are:

- how would you try to cancel this dependency out? putting a bunch of (different) photoresistors on a board an place such a milky plastic dome over them to diffuse the light? is this enough?

- how feasible is this anyways? do i miss something, like a strong temp-dependency of photoresistors or a veeery non-linear curve (light/resistance)?

i know i can and will do a lot of trial and error und playing around, i guess thats just the point. but maybe i'm missing something that would save weeks.

i'm happy on all input =)



(PS: i'm aware there are smartphone apps designed for light-measuring, especially for plants. but this is part of a larger project, next step is using esp32s instead of arduino and collecting the data of multiple sensors via wlan / watch it live)


[Edited on 29-9-2025 by jan1234]

Twospoons - 29-9-2025 at 12:30

You would do better using an unlensed photodiode. The photocurrent under reverse bias is very linear with light levels. As for light directional dependence, if you look at the light meters used in photography you would see they use a translucent plastic dome over the sensor to fix that issue. Half a pingpong ball might work for you.

GoFisch - 29-9-2025 at 13:52

Jan1234, I do believe that you'll find that the light/resistance characteristics of the photoresistors is considerably nonlinear. That may not matter if you're just trying to make a binary judgment between direct sunlight and no direct sunlight, but otherwise there are some much better options.

As Twospoons said, you can get a pretty linear light response with a photodiode.

But honestly, the easiest solution is to get a breakout board that's designed for measuring light levels. For example, for $5 you can buy from Adafruit or one of their distributors this little breakout board

https://www.adafruit.com/product/4162

which will give you the data in calibrated digital form using an I2C interface. I built something using a similar (earlier-generation) breakout board and I just let the board lie horizontally in the area where I wanted to measure things. That way, it won't be sensitive to the sun's direction, though it will be sensitive to the height of the sun in the sky (giving higher readings when the sun shines more perpendicularly on the detector). You could also prop it up at an angle so that the sun falls most directly on the sensor when it's at an angle that will also give the most light to your plants.

MrDoctor - 29-9-2025 at 15:39

you should use a diffuser yes, and also black out the sensor a little bit such as that the point it reads basically nothing, is at the minimum relevant brightness youd like to read, rather than pitch black.
given you probably bought a 10-pack or more of these though, i would instead suggest you make an omnidirectional arrangement of 3-5 of them, and wire them up in parallel, or read them all individually and sum it in code.
3-4 in a ring, and one facing up. then put them in a diffuser made by melting some milk bottle plastic or something. this is also i believe, how that other unit of light is measured, not, how much a source is releasing, but how bright it is in a given space. The phone apps i believe do it more intelligently not just using the light sensor on the camera but also basing it off the available color spectrum too, because the sensor is directional, but theres probably ways using the sensor, and the camera too reading color input, to figure out exactly how bright a room is without actually having a proper sample from multiple directions, if you look, they tend to only be a pinhole sized dot too.

check the datasheet for your LDRs, they will respond differently to different wavelengths, my ones only have ratings for 523nm green light, but obv it responds to other spectrum, but they only gave the responses to green.