Summary of DIY Light (Lux) Meter using BH1750 sensor, Arduino and Nokia 5110
This article details a DIY Lux meter project using an Arduino Uno, BH1750 light sensor, and Nokia 5110 LCD. The device measures ambient light intensity in LUX with high accuracy via the I2C interface. It is designed to correlate with human brightness perception and features noise rejection and adjustable measurement ranges.
Parts used in the DIY Lux Meter:
- Arduino Uno
- BH1750 light sensor
- Nokia 5110 LCD
- Breadboard
- wires
Introduction
Hi guys, continuing on our recent path of building really cool stuffs based on the Nokia 5110 LCD display, today we will be building a DIY Lux (or light) meter using the highly sensitive BH1750 light sensor.

Illuminance (measured in LUX) is the total luminous flux incident on a surface, per unit area. It is a measure of how much the incident light illuminates the surface, it is wavelength-weighted by the luminosity function to correlate with the level of human brightness perception.
Lux is a measurement of the overall intensity of light within an environment for any given area or distance from the source or lux is the amount of light in an environment perceived by the human eye. The Lux meter is thus, a device used to measure the light intensity within an environment and its exactly what we will be building during this tutorial.
Below is a picture of the device taking outdoor readings on a bright morning.
The BH1750 sensor is a digital Light Sensor capable of measuring light intensity with a great degree of accuracy and over a large range. It communicates with microcontrollers or processors to which it is connected via the I2C bus interface. This module is the most suitable to obtain the ambient light data and it is commonly used for adjusting LCD and Keypad backlight power of Mobile phones.
Some of the features of this sensor include;
- I2C bus Interface ( f / s Mode Support )
- Spectral responsibility is approximately human eye response
- Illuminance to Digital Converter
- Wide range and High resolution. ( 1 – 65535 lx )
- Low Current by power down function
- 50Hz / 60Hz Light noise reject-function
- It is possible to select 2 type of I2C slave-address.
- Adjustable measurement result for influence of optical window ( It is possible to detect min. 0.11 lx, max. 100000 lx by using this function. )
- Small measurement variation (+/- 20%)
Required Components
The following components are needed to build this project;
Schematics
Connect all components as shown in the Fritzing schematics below;
Read more: DIY Light (Lux) Meter using BH1750 sensor, Arduino and Nokia 5110
- What is the primary function of the built device?
The device measures the overall intensity of light within an environment, known as Lux. - How does the BH1750 sensor communicate with the microcontroller?
The module communicates with microcontrollers or processors via the I2C bus interface. - What is the measurement range of the BH1750 sensor?
The sensor has a wide range from 1 to 65535 lx. - Can this project adjust backlight power for mobile devices?
Yes, the module is commonly used for adjusting LCD and Keypad backlight power of Mobile phones. - Does the sensor account for human eye response?
Yes, its spectral responsibility is approximately human eye response. - Is there a feature to reject light noise?
Yes, it includes a 50Hz / 60Hz Light noise reject-function. - How accurate is the measurement variation of the sensor?
The sensor has a small measurement variation of plus or minus 20%. - What components are required to build this specific project?
You need an Arduino Uno, BH1750 sensor, Nokia 5110 LCD, breadboard, and wires.
