BH1750 Digital Light Sensor

BH1750FVI Is a Digital Light sensor , which is an digital Ambient Light Sensor IC for I2C bus interface. This IC is the most suitable to obtain the ambient light data for adjusting LCD and Keypad backlight power of Mobile phone. It is possible to detect wide range at High resolution.( 1 - 65535 lx ).

this sensor has some advantages such like :

1) Illuminance to Digital Converter
2) Wide range and High resolution. ( 1 - 65535 lx )
3) Low Current by power down function
4) 50Hz / 60Hz Light noise reject-function
5) I2C bus Interface ( f / s Mode Support )
6) No need any external parts
7) It is possible to select 2 type of I2C slave-address.
8) It is possible to detect min. 0.11 lx, max. 100000 lx by using this function.

DataSheet for this sensor will be found here 

it's easy to use and connect , so Let's started

We will need :

1) Arduino Board" Uno,Nano,mini .. "

2)BH1750 Breakout .

3)Solderless Jumper

4)CD4050 Hex Buffer IC , Or 510 Ohm resistor *3

5)BreadBoard .

Remove these adsRemove these ads by Signing Up

Step 1: Definition of luminous ,Lumen

Picture of Definition of luminous ,Lumen
illuminance is a measure of how much luminous flux is spread over a given area. One can think of luminous flux (measured in lumens) as a measure of the total "amount" of visible light present, and the illuminance as a measure of the intensity of illumination on a surface 

Lumen : The unit for the quantity of light flowing from a source in any one second (the luminous power, or luminous flux) is called the lumen.

In our sensor we will take a reading from it in Lux which is equal  to one lumen per square metre:

Lux = 1 Lm/m2 .

oxygen6662 months ago


I m going to use 2 lux module for my project and i copied the "Read the Lux value via serial Port " code as well as library to my arduino but there is errors as shown below it also show BH1750FVI does not name a type.

can u please help me to solve this problem

thanks in advance


sketch_jan22a:23: error: 'BH1750FVI' does not name a type
sketch_jan22a.ino: In function 'void setup()':
sketch_jan22a:28: error: 'LightSensor' was not declared in this scope
sketch_jan22a:36: error: 'Device_Address_H' was not declared in this scope
sketch_jan22a:53: error: 'Continuous_H_resolution_Mode' was not declared in this scope
sketch_jan22a.ino: In function 'void loop()':
sketch_jan22a:61: error: 'LightSensor' was not declared in this scope


Mohannad Rawashdeh (author)  oxygen6662 months ago

OK , is 1 Module worked with you perfectly ?
You just need to connect/disconnect ADD Pin and set the address for each module lonely .

Yes, One of the sensor is working perfect. can you please put the complete code based on 2 sensor here. because i tried to modify the code but i couldn't

ademmler5 months ago
Nice library and work. Can you provide explanation how to connect the LCD panel?
Mohannad Rawashdeh (author)  ademmler5 months ago
It's already found on step # 5 .
Thanks for the information !!! I purchased a couple of these boards & would like to build a solar tracker. When do you think you will be publishing your system ?
I will try it soon :)
NaaaF6 months ago
Nice job!

Get More Out of Instructables

Already have an Account?


PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!