Summary of Building a simple digital light meter using Arduino and BH1750FVI sensor
This article describes building a digital light meter using an Arduino board and a BH1750FVI sensor. The device measures ambient light intensity ranging from 0 to 65535 Lux, providing readings in both Lux and Foot-candle units displayed on eight seven-segment LED displays. Unlike LDR-based projects requiring calibration, the BH1750FVI is a pre-calibrated IC that outputs data via an I2C interface, closely matching human eye spectral response.
Parts used in the Digital Light Meter:
- Arduino board
- BH1750FVI digital light sensor module
- Elecrow BH1750FVI sensor module
- Eight seven segment LED displays
A light meter is a device that measures the intensity of light. It finds applications in schools, hospitals, production areas, passageways and more to measure and maintain proper lighting levels. It is often used by photographers to determine the proper exposure for a photograph. Today we are going to build a simple light meter using an Arduino board and a BH1750 digital light sensor. The measured lighting level or intensity is displayed on eight seven segment LED displays, in both Lux and Foot-candle units. – See more at:
Hardware
Shawon Shahryiar posted a project article before about making a lux meter using a simple LDR. His project used an inexpensive photo sensor to detect the light intensity. In order to convert the measured light intensity into Lux, he needed to calibrate the photo sensor first using an external reference photometer. This project is an improvement over that as it uses the BH1750FVI sensor to measure the ambient lighting level. BH1750FVI is a calibrated digital light sensor IC that measures the incident light intensity and converts it into a 16-bit digital number. It can measure ambient light intensity ranging from 0 to 65535 Lux (L). The Lux is an SI unit for illuminance and is equal to one lumen per square meter. The BH1750FVI sensor directly gives output in Lux. The spectral response function of the sensor is approximately close to that of the human eye. The sensor output can be accessed through an I2C interface. The 7-bit I2C address is 0×23 if the ADDR pin is grounded, or 0x5C if ADDR is tied to VCC. In this project, I am using the BH1750FVI sensor module from Elecrow.
Shawon Shahryiar posted a project article before about making a lux meter using a simple LDR. His project used an inexpensive photo sensor to detect the light intensity. In order to convert the measured light intensity into Lux, he needed to calibrate the photo sensor first using an external reference photometer. This project is an improvement over that as it uses the BH1750FVI sensor to measure the ambient lighting level. BH1750FVI is a calibrated digital light sensor IC that measures the incident light intensity and converts it into a 16-bit digital number. It can measure ambient light intensity ranging from 0 to 65535 Lux (L). The Lux is an SI unit for illuminance and is equal to one lumen per square meter. The BH1750FVI sensor directly gives output in Lux. The spectral response function of the sensor is approximately close to that of the human eye. The sensor output can be accessed through an I2C interface. The 7-bit I2C address is 0×23 if the ADDR pin is grounded, or 0x5C if ADDR is tied to VCC. In this project, I am using the BH1750FVI sensor module from Elecrow.
For more detail: Building a simple digital light meter using Arduino and BH1750FVI sensor
- What components are required to build this project?
The project requires an Arduino board, a BH1750FVI digital light sensor module, and eight seven-segment LED displays. - How does the BH1750FVI differ from an LDR in this context?
The BH1750FVI is a calibrated digital sensor that directly outputs Lux values without needing external calibration, unlike LDRs. - Can this device measure light in different units?
Yes, the measured lighting level is displayed in both Lux and Foot-candle units. - What is the measurement range of the BH1750FVI sensor?
The sensor can measure ambient light intensity ranging from 0 to 65535 Lux. - How is the sensor output accessed by the Arduino?
The sensor output is accessed through an I2C interface. - What is the I2C address if the ADDR pin is grounded?
If the ADDR pin is grounded, the 7-bit I2C address is 0x23. - Does the sensor output match human perception of light?
Yes, the spectral response function of the sensor is approximately close to that of the human eye. - What type of display is used for the readings?
The readings are displayed on eight seven-segment LED displays.

