GY-302 BH1750 Light Intensity Module
What is it?
The BH1750 Light Sensor module (GY-302) is a digital sensor used to measure ambient light intensity in units of lux.
It's commonly used in systems that need to adjust brightness automatically, like smartphones or smart lighting.
How It Works
The BH1750 sensor detects light using a photodiode
Converts light into electrical signals
Internally processes it and outputs a digital lux value
Unlike analog LDRs, it directly gives accurate lux readings (no ADC needed)
Communication Interface
The module uses the I2C protocol.
Pins:
SDA
Pin | Function |
VCC | Power (3.3V 5V) |
GND | Ground |
Data line (I2C) | |
ADDR | Address select |
I2C Address
Default address: 0x23
If ADDR pin is HIGH 0x5C
Allows connecting multiple sensors on same bus
Key Specifications
Measurement range: 1 65,535 lux
High resolution: 1 lux
Built-in ADC (16-bit)
Low power consumption
Wide voltage support
Working Process
Sensor detects ambient light
Converts light electrical signal
Internal ADC processes signal
Outputs lux value via I2C
Microcontroller reads and uses data
Applications
Automatic ng systems
Greenhouse light monitoring
Street light automation
Camera exposure control
Advantages
Direct lux output (no calculations needed)
High accuracy and resolution
Easy I2C interface
Low power usage
Better than LDR for precision
Limitations
Not ideal for detecting specific light wavelengths
Slight delay in measurement
Requires I2C support
Basic Arduino Connection
VCC 5V
GND GND
SDA A4 (Arduino Uno)
SCL A5 (Arduino Uno)
Example Use
In a smart lighting system:
Sensor reads ambient light
If lux < t/p
Practical Tips
Avoid direct sunlight on sensor for stable readings
Use proper I2C pull-up resistors (often already included)
Place sensor where ambient light is representative
BH1750 vs LDR (Quick Comparison)
Feature | BH1750 | LDR |
Output | Digital (lux) | Analog |
Accuracy | High | Low |
Interface | I2C | ADC required |
Calibration | Minimal | Required |

