How to make an Arduino Light Meter with the BH1750 Sensor and a Nokia 5110 Display
34 Comments


Dear friends welcome back. Today we build a quite sensitive and accurate light meter. We are going to use the BH1750 sensor with outputs illuminance in the Lux SI unit. As you can see in the display we can see
live data of the illuminance right here under the LED light. If I put my finger on the sensor you can see the illuminance drops and when I remove it it goes back to about 2000 150 lux. That’s the performance indoors under the LED light. Let’s go
outside and see its performance in direct sunlight. We are outside now. It is a wonderful day in Greece today. So let’s see the reading
of our light sensor in direct sunlight. It’s a bit overcast and it is in the morning. Fifty thousand lux. In order to build this light meter we are going to need: A BH1750 that costs under 2 euros on Ebay. A Nokia 5110 LCD display which costs around 2.5 euros and of course an Arduino. We’re going
to use an Arduino Uno today which cost around
4 euros. So the total cost of this project is around 8.5 Euros. As you can
my soldering skills are terrible but it works so I will practice on that. Let’s
connect the censor to Arduino. The first pin is Vcc, Vcc goes to Arduino 5V. The second pin is ground. Ground goes to Arduino Ground. The third pin is SCL, SCL goes to analog pin 5 of Arduino Uno. The fourth pin is SDA, SDA goes to analog pin 4 of Arduino. The fifth pin is named address
but we won’t use it. Next we have to connect a Nokia 5110 LCD display. Check out the tutorial we have prepared on how to connect a Nokia 5110 LCD display. OK
we’re ready. Let’s power it on and see if it is working.OK the splash screen is displayed and now the illuminance is displayed as
well. If I put my finger on the illuminance drops. Now let’s go to the computer
and see the software side of the project. In
order to use the light sensor we have to use the BH1750 library
from claws. All we have to do is to download the
library and and unzip it in the Arduino ->libraries
folder. We unzip it and rename it. Now we are ready to use it. We are going
to need of course the Nokia 5110 LCD display. You can find links for the
libraries in the description of the video. Next all you have to do
is to load the project’s code. It consists of three files. The main code, this file here and two files that contain the data for
the splash screen and the UI for the light meter. Those
files here. We have prepared a tutorial on how
to create and load graphics on the Nokia 5110 display. You can find the link for the code of the project in the description of
the video. As you can see the code is very simple
and you can change it to satisfy your own
needs. That’s today’s project a low-cost but accurate light meter. It is a quite
useful functionality that we can use in future projects. We can
replace the inaccurate photoresistor with this sensor as the cost is low and
the connection is really easy. if you have any comments or questions
post them in the comments section below and press Like if you like the video and
subscribe to our channel in order to watch
the future projects. Thank you very much and see you next week!

34 thoughts on “How to make an Arduino Light Meter with the BH1750 Sensor and a Nokia 5110 Display

  1. Nice!  I'm a fish tank nerd… I wonder if it can be waterproofed?  Also, can you change the scale to PAR?

  2. Good tutorial. I like the way you talk. Very clear, keep it up! 🙂 And its okay because my soldering skills is even more terrible haha

  3. hi, thank your for the project 🙂
    just want some suggestion, my display comes and goes out. does not stay for long time. what is the problem.

  4. Nice guide. I'm new to this. I want to connect 4 light sensors. Any thoughts for the circuit desing with an Arduino board?

  5. Hi, i've been doing this project just now. There's a problem in the program from the link that says "LCD5510 does not name a type". How i'm I going to fix that? Thank you! And great project! 🙂

  6. is it okey if i dont use lcd?
    my project is to detect the luminance of a bulb ranging from 400-450…below and beyond that, i wil consider it as fault..
    is the luminance detected and viewed by the lcd can be read w/o using lcd??

  7. hello there! thanks for the tutorial also, in my country thre is no BH1750 light sensor on stock but the regular LDR LM393, will the code be compatible with it? im also wondering if the arduino UNO will also support this LM393 sensor.. thanks !

  8. Hola, en esta pagina se puede encontrar codigo para arduino Mega, Nano, Uno, Pro Mini y no requiere librerias http://blog.simtronyx.de/en/measurement-of-illuminance-with-a-bh1750fvi-breakout-board-gy-30-and-an-arduino-uno/

  9. gr8 project but what if i dont have bh1750 sensor.. can i use photo diode or other available device with arduino waiting for reply by the way lovely and nice place wow

  10. Can you set bh 1750 with decimal values output?
    I wanna use it to detect laser pointer intensity in my low cost experiment.

  11. 1000 μπραβο ρε φιλαρακο εισαι και δικος μας τα συχαρητηρια μου για ολη την προσπαθεια που κανεις .

  12. i have project to pilot the lights of my kitchen (who have a little window) to have the same light than the the room it have the sun (pwm i suppose with a solid state relay, and arduino). For this i will instal the BH1750 in the sunny room. Would you tell me the way i can take this for my future research to command the led (dimmable) in my kitchen. thanks for video.

  13. Hello! Could you show us please how to build a simple Sound analyzer on the display Nokia 5110 like this one?
    https://www.youtube.com/watch?v=WKiOt-bGCg0

  14. Are you sure these lux levels are real? I read that in rooms the lux levels are 100-400 lux. Reference: https://www.beaconlightingtradeclub.com.au/media/Assets/LUX_Levels_Chart.pdf
    Your 2200 inside and 45.000 outside seem just too big. I have made this experiment and I get 205-230 lux in the room. I see that people who have made this experiment get similar values.

  15. I want to make your both light sensor project and uv sensor project in one project. With single nokia display with both value showing same time can you really made the codes for me and upload the link here in comments section.thanks a lot.

  16. Hi Nick. Thanks for the great job you're doing. I had an issue with your code but I finally found the problem; your code has missed the line to begin wire library.
    Just add the line in
    void setup() {
    Wire.begin();
    .
    .
    }

    Hope it will be usefull !
    Thanks again from Spain.

Leave a Reply

Your email address will not be published. Required fields are marked *