💬 Light Level Sensor - BH1750

  • Admin

    This thread contains comments for the article "Light Level Sensor - BH1750" posted on MySensors.org.

  • This post is deleted!

  • Using a Arduino Pro Mini with BURNED FUSES, set to 1MHz I've built a low power battery sensor using the BH1750FVI. When using the statement "lightSensor.begin();" as in the example above, the BH1750FVI is set to continuous reading, hence will not sleep. Including the radio the measuread DC current when sleep() is 140μA and my 2 AA batteries will not last for more than maybe 1,5 years. However if I change that statement to "lightSensor.begin(BH1750_ONE_TIME_HIGH_RES_MODE);", the BH1750FVI device is automatically set to Power Down after measurement. I end up using about 6μA while sleeping which is a great improvement.My batteries will die due to old age and that's nice for the environment and to my wallet!

  • Ohh... I forgot to mention that I unsoldered the power regulator on the BH1750FVI and bridged Volt In with Volt Out. By doing that I hope that the BH1750FVI will work on lower voltages than specified. Time will tell.

  • Another important note... If doing it the way I suggested below, You will need to reconfigure the BH1750FVI before every reading. Something like this will do:

    delay(500); // Allow some time
    uint16_t lux = lightSensor.readLightLevel();// Get Lux value


  • Hi,

    Is there a way to combine this sketch and sensor with the Atmospheric Pressure since they both use the same A4 and A5 connections on the Arduino...


  • Mod

    @riochicken yes. They both use the i2c bus, which supports multiple devices.

  • @mfalkvidd : Cool! So just combine the sketches and go?!?!?!!?!


  • Mod

    @riochicken yup. You're welcome 🙂

  • This post is deleted!

  • The BH1750FVI IC can handle 4.5V max and the normal operating voltage is 2.4V-3.6V.
    So it should be ok to desolder the voltage regulator and drive this thing from the 2xAlkaline or 3xNIMH

  • Hi,

    I have connected my BH1750 to an Arduino nano as indicated above. After that i uploaded the sketch. I defined a node id 16 and child id 1. Nothing is happend. When i read the log it's says child id 255
    debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;TSP:MSG:BC
    19:55:26debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;TSP:MSG:READ 16-16-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
    19:55:25debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;!TSP:MSG:SEND 0-0-16-16 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=fail:0
    19:55:24debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;TSP:MSG:GWL OK
    19:55:24debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
    19:55:24debug [pimatic-mysensors]: <- I_LOG_MESSAGE 0;255;3;0;9;TSP:MSG:FPAR REQ (sender=16)

    I don't know what i did wrong. Anyone an idea?

  • try to flash the "clear eeprom" sketch from the mysensors library and try again with your sketch.

  • @checkup Hi, i have done that a few times now. Unfortunately, with the same result.

  • What's the expected value range for this sensor in the evening with some lights on? It's not dark here atm but I am getting ca 10 lux only. Any ideas?

Log in to reply

Suggested Topics

  • 3
  • 109
  • 110
  • 109
  • 10
  • 2