Definition
The lux (symbol: lx) is the SI unit of luminance, measuring luminous flux per unit area. It is equal to one lumen per square meter. In photometry, this is used as a measure of the intensity, as perceived by the human eye, of light that hits or passes through a surface.
Light Measurement
The easiest way to measure light with an Arduino is with an LDR. LDR’s (Light dependent resistors) have a low resistance in bright light and a high resistance in the darkness.
Doing that on an Arduino Analog port, would give a reading between 0 and 1024, which of course are really non-descriptive numbers. What you would want is an output in Lux or Lumen. That is possible but mind you that LDR’s are not really accurate for precise readings. There is a somewhat rough formula that relates the resistance of an LDR to the light in Lux. That is:
Rldr=500/Lux, or
Lux=500/Rldr (in kOhm)
Component Used
- Arduino Uno
- Connecting Wires
- LDR
- 10K Ohm resistor
Light Measurement Circuit

Arduino Code for Light Intensity Measurement
//Light Intencity Measurement
//www.circuits4you.com
double Light (int RawADC0)
{
double Vout=RawADC0*0.0048828125;
//int lux=500/(10*((5-Vout)/Vout));//use this equation if the LDR is in the upper part of the divider
int lux=(2500/Vout-500)/10;
return lux;
}
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Light Intensity:");
Serial.print(int(Light(analogRead(0))));
Serial.println(" Lux");
delay(1000);
}
Result of Light measurement
Open serial monitor and check your creation.
