I'm looking for a few hints in designing a light detector circuit.

Priorities are that the circuit is simple (both as in few parts and as in relatively easy to understand), rather cheap, and can give a rough estimate of the light level.
It should be able to clearly differ between night, early morning light, a cloudy day, direct sunlight etc. Much more isn't strictly necessary, but would be a very nice bonus. (This is for a simple greenhouse temp/light monitor/logger circuit.)
Analog or digital doesn't really matter (the board has a microcontroller with an ADC), but I suppose anything except off-the-shelf solutions are analog.

I'm not quite sure where to begin, or even what class of photodetector to use. Since bandwidth is completely irrelevant (I need a reading every few minutes), I would suppose that the more important spec is how wide a lux range they can handle.

I'd also appreciate some input on noise sensitivity. Given the (lack of) accuracy required, do I need to be careful with separate analog/digital grounds etc., so that the lower-end measurements are still OK?
External power will come from a switching supply, but there's a LDO first thing on the board. However the rest of the board is digital (microcontroller, temperature sensors, SPI Ethernet chip).


1 Answer 1


You can hardly think of anything simpler than a photodiode or phototransistor: place a series resistor and you have a voltage proportional to light level. The resistor's value sets the sensitivity. In the past I've used the SFH3410 for this several times.

You want a phototransistor with a eye-matched sensitivity curve. Most phototransistors are rated for a limited light range, like the SFH3410, which is only specified between 10 lux and 1000 lux. I've used it for levels down to 1 lux as well, and it was still linear at that level.

For higher levels (direct sunlight in summer can go beyond 100 000 lux) I would suggest to use a second phototransistor where you place an ND (neutral density) filter in front of it. A 99 % filter will reduce the 100 000 lux to 1000 lux, so you can measure the higher light levels with the second phototransistor.

  • \$\begingroup\$ Interesting idea with the ND filter. Where would one buy such a tiny one (for cheap), though? I was thinking about about logarithmic output solutions, but I'm not sure how I'd build one. \$\endgroup\$
    – exscape
    Aug 28, 2012 at 15:10
  • 1
    \$\begingroup\$ @exscape - uh-oh, he wants them for cheap :-(. Well, you can get photographic ND filters for 15 dollar, but a 1.8 ND (that's 98.5 % reduction) will be rather expensive, even from lower end brands (say 50 dollar). The reason is that the filters have to be even to a high degree, but for your application that's not necessary. Also you only need a square cm of it. I would try to get a small sample from a sheet, or a reject. DIY from a piece of fabric may work as well. \$\endgroup\$
    – stevenvh
    Aug 28, 2012 at 15:55

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.