← All parts

VEML6070 UV Light Sensor

AdafruitAdafruit VEML6070 UV Sensor Breakout

A compact UV light sensor with I2C interface for microcontroller projects.

In stock

Specifications

2
Operating Voltage
3-5V
Logic Level
3-5V

Pinout

5
PinNameFunctionsNotes
VinPower
POWER
3-5V power supply
GNDGround
GND
Common ground for power and logic
SCLI2C Clock
I2C
Connect to microcontroller's I2C clock line, 3V or 5V compatible with 10K pullup
SDAI2C Data
I2C
Connect to microcontroller's I2C data line, 3V or 5V compatible with 10K pullup
ACKInterrupt/Alert
GPIO
Logic level same as Vin

Interactive pinout

Highlight:
Adafruit VEML6070 UV Sensor Breakout

Click a pin to copy its name · tap a tag above to spotlight a bus.

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

Arduino library: Adafruit VEML6070 Library

arduino
// VEML6070 UV light sensor (I2C) — community starter example
#include <Wire.h>
#include <Adafruit_VEML6070.h>

Adafruit_VEML6070 uv;

void setup() {
  Serial.begin(115200);
  uv.begin(VEML6070_1_T);   // integration time
}

void loop() {
  Serial.print("UV="); Serial.println(uv.readUV());
  delay(1000);
}

MicroPython

python
# VEML6070 (ESP32) — community starter example
# No common driver: raw I2C read of the two data addresses (0x38/0x39)
from machine import Pin, I2C
import time

i2c = I2C(0, scl=Pin(22), sda=Pin(21))
i2c.writeto(0x38, b"\x06")            # init, IT=1

while True:
    msb = i2c.readfrom(0x39, 1)[0]
    lsb = i2c.readfrom(0x38, 1)[0]
    print("UV", (msb << 8) | lsb)
    time.sleep(1)

Wiring

PinArduino Uno R3ESP32 DevKitC (WROOM-32)Notes
Vin+5V3V3Breakout 3-5 V safe
GNDGNDGND
SCLA5/SCLGPIO22I2C clock
SDAA4/SDAGPIO21I2C data

Typical uses

  • UV-A light / UV index estimation
  • Sun-exposure and UV monitoring

Related parts

6