CdS photocells and their characterisation

CdS photoresistors (also called photocells sometimes) are an inexpensive type of light sensors. They find their use in light detecting sensors (daylight switches, light meters) and also in some music equipment (eg. noiseless faders and also some guitar effects). Due to its slow response this type of photoresistor can’t be used to detect very fast light changes, but for some applications this may actually be an advantage.


Unless very special photoresistor values seem to have a very vague tolerance, for example a cells bought as a single product number may have a value of 45-150k at the same light conditions. This is totaly ok where you want to use a single cell (eg. lamp switchoff during daytime, the brightness at which the switching is done is usually set with a potentiometer). I unfortunately needed to replace two cells that were used in tandem for a solar panel sun tracker. This required two cells which should be as close to each other in characteristics as possible. (My guess is that the photoresistors could also be matched using two point calibration with external resistors.)


I initially tried measuring the CdS photoresistors by hand and pointing them at differently lit regions in room. Although this made me realise how much spread is in values of the pack fo photoresistors I have, the values I measured didn’t really have much meaning. I actually tried using  two of the photoresistors I “matched” this way in the circuit, but it didn’t work as it should…

So I decided to create a very simple fixture for measuring and matching the photocells. A small protoboard was soldered with a few socket strips. The fixture was configured so it could be used for measuring resistance of the sensors directly and also to measure a sensor + resisor combo or a balance between two sensors.

DSC_8744A DSC_8735Aconnections

A lab power supply was used to power a halogen lamp (I think that incandescent may actually be better) which provided illumination to the sensors being measured.


Currently I don’t have the need for calibrating / measuring a lot of sensors so the measurements were done manually. It would be however very easy to mount a sensor + resistor combo in the fixture and then an arduino could be used to make the voltage/resistance readings. Also my lab PSU can be programmed by PC…

The sensors were aligned with the lamp and the distance between the lamp and the sensors was noted. Voltage on the PSU was set, voltage and current on the lamp were measured and resistance of each of the photosensors in the fixture was measured. This was done for several voltages on the lamp to get different light levels.



I got the following results:


The same results in a graph (the graph on the right has both axes in log):


From the measurements it is easy to see that the photoresistors A and C seem to be good match. A and C were mounted in the fixture for measuring the balance between the two. Also the photoresistors that were initially removed from the device were mounted in balance measuring mode just for a test.


9V block battery was used to power the sensors and a multimeter was used to make voltage readings.


For a nicely balanced sensors the output should be around 4.5V (supply voltage / 2) and the output should not change much with changing light conditions, provided that the sensors are equally lit. Voltage on the PSU was varied to make measurements at different light levels.

Following results were obtained:


The matched photoresistors really seem to work nice in tandem – much better than the old bridge I would like to replace. Still have to mount them in the circuit and see if that will make the sun tracker functional again.

2 Comments on “CdS photocells and their characterisation

  1. I attempted to design a LED/ Photocell device to compensate for motor slowdown under load I purchased a Harbor freight cheap flash lite knocked the the guts out turned the Led around added pigtails and potted it in place. in the switch end I glued a CS potocell and when assembeled faces the LED. I attached the LED side to A bridge rectifier and this to a current transformer. I ran the AC lead to the triac speed controller through the Current transformer. The idea is as the motor loads up the LED brightens and the resistance in the CS cell goes down. the output of the CS Cell goes to a pot and then to the control circuit parallel to the control pot. Amazingly this works! But with a bad lag. any thoughts on how to correct this short coming would be appreciated!

    • Hmm, I think you might get better results if you try to tune the resistance of the pot / CS so you get response at the right time. What probably happens is that your feedback loop only kicks in already past the threshould you would want it to. Although CS are not the fastest of devices, they are probably ok for slow control loops like speed control. Also for your problem it would probably make more sense to simply get a controller with a tacho input, so you set the rpm on controller, not power.

Leave a Reply

Your email address will not be published. Required fields are marked *