Home Circuitpython Adafruit Feather M0 and VEML7700 lux sensor circuitpython example

Adafruit Feather M0 and VEML7700 lux sensor circuitpython example

by shedboy71

In this article we look at a ambient light digital 16-bit resolution sensor – this time its the VEML7700 and we will connect it to an Adafruit Feather M0 running Circuitpython

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


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


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 Required

Name Link
Adafruit Feather M0 Express Adafruit (PID 3403) Feather M0 Express – Designed for CircuitPython – ATSAMD21 Cortex M0
VEML7700 Adafruit 4162 VEML7700 Lux Sensor – I2C Light Sensor
Connecting cables Free shipping Dupont line 120pcs 20cm male to male + male to female and female to female jumper wire



feather and veml7700 layout

feather and veml7700 layout

Code Example

I used Mu for development

The following is based on a library , I copied the VEML7700 library and the adafruit_register to the lib folder to my Feather M0 Express – https://circuitpython.org/libraries

import time
import board
import busio
import adafruit_veml7700
i2c = busio.I2C(board.SCL, board.SDA)
veml7700 = adafruit_veml7700.VEML7700(i2c)
while True:
    print("Ambient light:", veml7700.light)


Here is what I saw in Mu REPL window

Ambient light: 346
Ambient light: 345
Ambient light: 346
Ambient light: 345
Ambient light: 344
Ambient light: 341
Ambient light: 339
Ambient light: 338




You may also like

Leave a Comment