Making a Low Power Photoresistor

I’m building a low power PIR motion detection circuit with an Arduino Pro Mini. Everything will be run on a battery and therefore using the least power possible is critical. So far the Pro mini and PIR sensor together use about 30uA when sleeping or “waiting” for motion. I want to include a photoresistor to allow me to know if it’s day or night and run specific function based on the light level when motion is detected. Obviously the resistance level changes dramatically based on the light which is how a photoresistor works, but the problem with that is on a dark day the photoresistor is 600k Ohm and using 8uA, while in full daylight the photoresistor is 1.1k and using 4.5mA!

4.5mA is far too much compared to my Pro mini and PIR circuit so how can I minimize this number? I only need to know light/dark not different levels within light and dark. The Pro Mini wakes up and reads the light level when motion is sensed so I was thinking of using a FET to complete the photoresistor circuit only when I want to read the light level. Am I missing something or is there a better way to get current down on this photoresistor during daylight hours, or perhaps I should look at something like a lux sensor. I’ve seen low power PIR circuits use a photoresistor before but not sure how the the complete system only draws uA in the daylight.


You could use a digital output to briefly turn on the circuit with the LDR for a brief period of time ( say 100mS) , take your reading then switch it off again for a few minutes - the average current is then very small .

Or try a photodiode (or maybe a plain ol’ led) between grnd and an analog pin. Use 1.1v ref.

Try changing the 10K to a 51K, you should be able to get a yes/no answer. Experiment with different values. Also use a avalanche rated MOSFET, (I assume the sensor is on a long wire) to switch the low side on and off. The analog input resistance is claimed to be 100 Mohms. During an actual sample, the input resistance is temporarily a lot lower as the sampling capacitor is charged up so it is recommended that whatever you connect to the A/D have an output impedance of 10k or less for best accuracy. This can be circumvented by using a longer sample time.

while in full daylight the photoresistor is 1.1k and using 4.5mA!

You're using 50V for power supply? That doesn't make sense. Even 5V doesn't make sense if you're running off batteries and try to go low power, as Vcc will normally be floating with the battery voltage. 3.3V Pro Mini on 2xAA works great.

You can indeed switch off the LDR - connect one of the ends of the voltage divider to a digital pin, set that pin to INPUT to stop current flowing, output HIGH or LOW as needed to measure. No need for a MOSFET there, that's nonsensical.

If you want to limit the maximum current through the LDR, just add a series resistor.

in full daylight the photoresistor is 1.1k and using 4.5mA

It would if you connected it directly between 5V and GND, but no one does that.

Instead use it in a voltage divider with a 100K resistor, and as others have suggested, power the divider from a port pin when making a measurement.

Thanks for all the responses! I was planning on connecting it to a 5V source but many of you brought up just connecting it to a 5V I/O pin and turning that on when I want to do a reading so that's what I'll be doing. Much smarter way to do it :slight_smile:

Thanks again!