← 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| Pin | Name | Functions | Notes |
|---|---|---|---|
| Vin | Power | POWER | 3-5V power supply |
| GND | Ground | GND | Common ground for power and logic |
| SCL | I2C Clock | I2C | Connect to microcontroller's I2C clock line, 3V or 5V compatible with 10K pullup |
| SDA | I2C Data | I2C | Connect to microcontroller's I2C data line, 3V or 5V compatible with 10K pullup |
| ACK | Interrupt/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
| Pin | Arduino Uno R3 | ESP32 DevKitC (WROOM-32) | Notes |
|---|---|---|---|
| Vin | +5V | 3V3 | Breakout 3-5 V safe |
| GND | GND | GND | |
| SCL | A5/SCL | GPIO22 | I2C clock |
| SDA | A4/SDA | GPIO21 | I2C data |
Typical uses
- UV-A light / UV index estimation
- Sun-exposure and UV monitoring