VEML7700 lux sensor and ESP8266 example using the Arduino IDE

In this article we look at a ambient light digital 16-bit resolution sensor – this time its an VEML7700. As per usual we will connect this to a Wemos Mini – you can use any ESP8266 board you want.

This is the sensor that I bought for this


Lets look at some information regarding the sensor from the manufacturer

The VEML7700 is a high accuracy ambient light digital 16-bit resolution sensor. It includes a high sensitive photo diode, a low noise amplifier, a 16-bit A/D converter and supports an easy to use I2C bus communication interface.
The ambient light result is as digital value available

FEATURES

Integrated modules: ambient light sensor (ALS)
Supply voltage range VDD: 2.5 V to 3.6 V
Communication via I2C interface
Floor life: 72 h, MSL 4, according to J-STD-020
Low shut down current consumption: typ. 0.5 μA

AMBIENT LIGHT FUNCTION

Filtron TM technology adaption: close to real human eye response
O-Trim TM technology adoption: ALS output tolerance≤ 10 %
16-bit dynamic range for ambient light detection from 0 lx to about 120 klx with resolution down to 0.0036 lx/ct,supports low transmittance (dark) lens design
100 Hz and 120 Hz flicker noise rejection
Excellent temperature compensation
High dynamic detection resolution
Software shutdown mode control

Parts List

Here are the parts I used

Name Links
Wemos Mini
VEML7700
Connecting cables

 

Schematic/Connection

ESP8266 and VEML7700 layout
ESP8266 and VEML7700 layout

 

Code Example

This uses the library from https://github.com/DFRobot/DFRobot_VEML7700

This is the default example

 

#include <Wire.h>
#include "DFRobot_VEML7700.h"

DFRobot_VEML7700 als;

void setup()
{
  Serial.begin(9600);
  als.begin();
}

void loop()
{
  float lux;
  
  als.getALSLux(lux);
  Serial.print("Lux:");
  Serial.print(lux);
  Serial.println(" lx");
  
  delay(200);
}

 

Output

Open the serial monitor and you should see something like this, shine light, cover the sensor to change the lux values

Lux:33.34 lx
Lux:33.29 lx
Lux:33.29 lx
Lux:33.20 lx
Lux:33.20 lx
Lux:33.11 lx
Lux:33.08 lx
Lux:10.63 lx
Lux:1.21 lx
Lux:1.10 lx
Lux:1.18 lx
Lux:1.13 lx
Lux:1.10 lx
Lux:26.67 lx
Lux:32.01 lx

Links

https://www.vishay.com/docs/84286/veml7700.pdf