LDR in direct Sunlight

I am using LDR in direct sunlight to detect the level of light intensity on the solar panels. The LDR is connected with the arduino analog input using a 10 meter wire (panels to the inverter). I have programmed the arduino in a way that when max. light intensity is there, the arduino setups a particular inverter mode.

However, i have seen that after a month of usage of LDR, it becomes less responsive (? denature) and dont respond it used to do in the new setup. LDR on close examination, showed some degenerated changes. I have tried several different types of LDRs (direct / water proof) but all show the same problem.

How to solve this LDR problem in the direct sunlight? Is it due to UV radiation or temperature?

A LDR should not get bad with direct sunlight, as far as I know.
How bright is the sunlight ? Is there some protection (plastic cover) over the LDR ?
All LDRs have a temperature limit of 75°C. As soon as it reaches the 75°C, it is broken.

A LDR or a digital light sensor are most often used to measure ambient light. To measure direct sunlight, a small solar cell is used. To use a single solar cell with Arduino, only a protection resistor is needed to an analog input. Because the voltage is measured, a voltage reference should be used. For example the 3.3V or the internal 1.1V internal voltage reference.

Try a solar cell from a cheap garden light, maybe with a burden resistor across. No pullup resistor. Maybe wise to use a 4k7 resistor between solar cell and input pin. And a 100n cap from pin to ground. Leo..

LDR plastic covers get effected by the sun and goes opaque.

You can also use a LED as a light sensor. Google LED light sensor.


i used LDRs of different packings. The LDR in plastic cover gets the same outcome compared to LDR without any plastic cover. I think this is because of direct UV Radiation along with humdity / high temperatures due to direct sunlight.

I used Photo transistor 2N5777 (collector at the 5V, emitter at the Arduino analog pin with 1MB resistor ground) but the value it shows on the arduino varies a lot. I used various alogrithms to make it smooth but it didnt work as expected.

Now, i have installed the LDR below the solar panel and adjusted the arduino settings. I hope this wont get affected now however, if it would, I would consider using small Solar cell to measure the light intensity.

Try covering it with a cut in half ping pong ball

Have you temperature compensated it ? it could be a seasonal variation.

docosama: . I have programmed the arduino in a way that when max. light intensity is there,

However, i have seen that after a month of usage of LDR, it becomes less responsive (? denature)

If you are in the northern hemisphere thats what i would expect. If your arduino is looking for a fixed value , the suns intensity decreases each day.

LDR are very nonlinier, good for night day detection but poor at measuring high intensity.

One way of improving the sensitivity is to shade it to get into a more linear part of the curve.

What are you using the light intensity for?


i have installed hybrid solar UPS in home .. the device can communicate with rs232 interface .. i wanted to turn it on during enough sunlight to save electricity from the grid source .. i have setup an arduino based system which communicates with the inverter device .. the arduino has analog input from LDR placed on the solar panels on the roof .. when there is sufficient sunlight, arduino is programmed in such a way that it sends particular codes to the inverter device to turn the UPS (powered by solar) mode on saving the grid electricity .. so, the intensity of the sunlight is used here ..

These things are designed to do all that for you normally.

If its hybrid grid connected they have to be approved and installed by approved contractors.

If its a home job and you want to keep the battery fully charged then sensing the battery voltage to control is best.

if the charge level drops then switch off until it recharges again with some hysterisis .

@ docosama : I have the same problem for more then 20 years. For the moment , I found an LDR at Farnell wich keeps up "staying alive" for a few years. But I intend to switch to photo transistor , something like BP103. I know it is an old part but I'm sure you will find them on the net. And there was told that a phototransistor can keep up with direct sunlight.