Quick answer: A light intensity sensor used as a lux meter measures illuminance: the light falling on its surface, expressed in lumens per square metre. Choose an LDR for a slow light/dark response, or an ambient light sensor IC when your project needs a lux measurement.
According to Wikipedia, an LDR changes resistance with illuminance and responds slowly to changes (photoresistor reference); TI describes the OPT3001 as a single-chip lux meter (TI datasheet). This guide compares those approaches, gives concrete measurement ranges, and explains what to check for an Arduino project. For lighting calculations beyond the sensor itself, use the LEDask calculator hub.
What does a light intensity sensor measure?
A lux sensor measures light arriving at a surface, rather than the total output of a lamp. According to Wikipedia's illuminance reference, illuminance is incident luminous flux per unit area, and “brightness” should not be used as a quantitative description (illuminance definition).
The useful distinction is between lumens and lux:
| Quantity | Meaning | How to use it here |
|---|---|---|
| Luminous flux, in lumens | Amount of visible light | Describes the light output being distributed |
| Illuminance, in lux | Lumens arriving per square metre | Describes the light reaching the sensor surface |
| Illuminance, in foot-candles | Lumens arriving per square foot | Expresses illuminance using a different area unit |
One lux equals one lumen per square metre (lux definition). A lux reading alone therefore does not give a lamp's total lumen output: the illuminated area and distribution also matter.
Worked example: spreading the same light over more area
Assumed inputs: 800 lumens reach a surface uniformly, first over 4 m² and then over 8 m². These are illustrative inputs, with no additional losses included.
- Formula: illuminance = incident lumens ÷ area in m².
- First area: 800 ÷ 4 = 200 lux.
- Larger area: 800 ÷ 8 = 100 lux.
- Comparison: 8 ÷ 4 = 2 times the area; 100 ÷ 200 = 0.5 times the illuminance.
The incident lumens stay the same in this example. The illuminance falls because the assumed distribution covers more area. This is an area-average calculation under the uniform-light assumption, not a prediction of every point in a real room.
Which sensor type should you choose?
Start with the output you need: a relative light/dark signal or a lux value. According to Wikipedia, common ambient light sensor types include phototransistors, photodiodes, and photonic ICs that combine a detector and amplifier (ambient light sensor reference).
| Type | Supported distinction | Selection decision |
|---|---|---|
| Photoresistor, or LDR | According to Wikipedia, resistance falls as illuminance increases (LDR reference) | Choose for a slowly changing relative light signal |
| Photodiode or phototransistor | Wikipedia identifies both as common ambient light detector types (ALS reference) | Do not assume the detector name alone guarantees a lux output |
| Integrated lux sensor | According to TI, the OPT3001 measures light with a response closely matching the human eye's photopic response (TI datasheet) | Choose when the project needs a specified illuminance measurement |
An LDR is a poor choice for rapidly flashing light. According to Wikipedia, its response lag is usually about 10 milliseconds toward light and can reach about 1 second toward darkness (LDR response times). A slow light/dark control and a flashing-light measurement are different requirements; select the sensor for the actual change you need to observe.
Compare OPT3001 and VEML7700 specifications
Both devices have published illuminance ranges, but their supply limits and measurement specifications differ. The table keeps those specifications separate so that a fine resolution is not mistaken for a guarantee of accuracy.
| Specification | OPT3001, according to TI | VEML7700, according to Vishay |
|---|---|---|
| Illuminance range | 0.01 to 83,000 lux (TI) | 0 to about 140,000 lux (Vishay) |
| Supply voltage | 1.6–3.6 V (TI) | 2.5–3.6 V (Vishay) |
| Other useful specification | More than 99% typical infrared rejection (TI) | Resolution down to 0.0042 lux per count; I2C interface (Vishay) |
Do not treat the finest stated resolution and widest stated range as a promise that both apply simultaneously in every configuration. Choose the operating settings for the expected light level. Likewise, infrared rejection describes a response characteristic; it is not the percentage accuracy of the final lux reading.
How much range do you need outdoors?
Size the range for the brightest condition you intend to measure. Wikipedia lists direct sunlight at 32,000–100,000 lux (lux reference). That range makes the upper measurement limit relevant even when a sensor works comfortably under lower illumination.
Worked example: checking upper-range headroom
Assumed input: an outdoor design case of 100,000 lux. Use the upper limits stated by TI for OPT3001 and Vishay for VEML7700: 83,000 lux and approximately 140,000 lux, respectively.
- Formula: headroom = sensor upper limit − assumed illuminance.
- OPT3001: 83,000 − 100,000 = −17,000 lux, outside its stated range.
- VEML7700: approximately 140,000 − 100,000 = 40,000 lux of headroom.
This comparison checks range only. It does not establish outdoor enclosure suitability or measurement accuracy, and it is not a field test of either sensor.
How should you approach an Arduino project?
For an Arduino project that needs illuminance, choose a sensor with a specified lux measurement and verify the supply and interface of the actual module. According to Vishay, the VEML7700 provides I2C and requires a 2.5–3.6 V sensor supply (Vishay datasheet).
Use this selection checklist before connecting it:
- Define the result: choose a relative light/dark response or a numeric lux measurement.
- Distinguish the chip from the breakout: establish whether the board includes regulation and logic-level translation.
- Match the supply: do not apply an assumed 5 V board supply directly to a VEML7700 sensor whose stated maximum operating supply is 3.6 V (Vishay supply specification).
- Match the software output: use the module's documented lux conversion instead of relabelling an unexplained raw count as lux.
There is no universal Arduino light/dark threshold in this guide. Set a threshold in the units your project actually reads, based on the condition you want to detect. Board-specific wiring and library code need the selected module's documentation.
Convert a lux reading to foot-candles
Divide lux by 10.764 to obtain foot-candles. Our foot-candle calculator uses this conversion factor; Wikipedia also gives approximately 10.764 lux per foot-candle (unit reference). This lets you compare a sensor reading with a lighting target expressed in foot-candles.
Assumed input: a sensor reading of 538.2 lux.
- Formula: foot-candles = lux ÷ 10.764.
- Conversion: 538.2 ÷ 10.764 = 50 foot-candles.
- Reverse formula: lux = foot-candles × 10.764.
- Check: 50 × 10.764 = 538.2 lux.
The conversion changes the units, not the measured light level. It also does not turn a single sensor reading into a room-wide measurement.
FAQ
Does a light intensity sensor measure lumens or lux?
A lux sensor measures lumens per square metre at its surface. One lux equals one lumen per square metre (lux definition); that is different from a lamp's total lumen output.
Can I use an LDR to measure flashing LEDs?
It is poorly suited to rapid flashing. According to Wikipedia, typical response lag is about 10 milliseconds toward light and can be about 1 second toward darkness (LDR reference).
Which option has an I2C interface for an Arduino project?
According to Vishay, the VEML7700 has I2C and a 2.5–3.6 V supply range (Vishay datasheet). Select a breakout whose power and logic interface match your board.
Can the OPT3001 measure direct sunlight?
Some sunlight levels can exceed its range: TI specifies an upper limit of 83,000 lux (TI datasheet), while Wikipedia lists direct sunlight up to 100,000 lux (lux reference). Choose for the maximum expected illumination.
Does finer resolution mean better accuracy?
No: resolution describes the measurement increment, while accuracy describes closeness to the actual value. Vishay's stated resolution down to 0.0042 lux per count is a resolution specification, not an accuracy percentage (Vishay datasheet).
Jack Shi
Founder & editor, LEDaskJack Shi builds and writes LEDask, an independent LED-lighting tools project operated by clooms. He designs the calculators, checks their formulas and reference values against published engineering data, and writes the guides across the site.



