Mikroe UV 3 Click - Ultraviolet Light Sensor with I2C - VEML6070

Product ID: 7658
Mikroe uv 3 click 3999238161

Ships in 15 to 20 days

UV 3 click is an advanced ultraviolet (UV) light sensor with I2C protocol interface. The click carries VEML6070 UVA light sensor designed by the CMOS process. UV 3 click runs on either 3.3V or 5V power supply.

VEML6070 sensor features

VEML6070 is an advanced ultraviolet (UV) light sensor with I2C protocol interface and designed by the CMOS process. The active acknowledge (ACK) feature with threshold windows setting allows the UV sensor to send out a UVI alert message.

VEML6070 incorporates a photodiode, amplifiers, and analog/digital circuits into a single chip. VEML6070’s adoption of Filtron™ UV technology provides the best spectral sensitivity to cover UV spectrum sensing. It has an excellent temperature compensation and a robust refresh rate setting that does not use an external RC low pass filter. VEML6070 has linear sensitivity to solar UV light and is easily adjusted by an external resistor.


Type Optical
On-board modules VEML6070 UVA light sensor
Key Features Converts solar UV light intensity to digital data, excellent performance of UV radiation measurement under long time solar UV exposure
Key Benefits Excellent UV sensitivity and linearity via Filtron™ technology
Interface I2C
Input Voltage 3.3V or 5V
Click board size S (28.6 x 25.4 mm)

Pinout diagram

This table shows how the pinout on UV 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 2 RST INT 15 ACK Acknowledge pin
NC 3 CS TX 14 NC
NC 5 MISO SCL 12 SCL I2C digital serial clock input
NC 6 MOSI SDA 11 SDA I2C digital serial data output 
Power supply +3.3V 7 3.3V 5V 10 +5V Power supply
Ground GND 8 GND GND 9 GND Ground

Jumpers and settings

Designator Name Default Position Default Option Description
JP1 Logic level Left 3.3V Data in level Voltage Selection 3V3/5V, left position 3V3, right position 5V


Code examples for UV 3 click, written for MikroElektronika hardware and compilers are available on Libstock.

Code snippet

This code reads the value of UV light from VEML6070 and sends it to the user via UART.

01 char uartTxt [20];
03 void systemInit()
04 {
05     Uart5_Init (9600);
06     Uart5_Write_Text ("rnInitializing...");
07     I2C2_Init( 100000 );
08     Delay_ms (100);
09     UV_3_initDriver (0x70,I2C2_Start, I2C2_Stop, I2C2_Write, I2C2_Read);
10     VEML6070_Init();
11     Uart5_Write_Text ("rnInitialized");
12 }
14 void main()
15 {
16     systemInit();
18    while( 1 )
19     {
20           Uart5_Write_Text ("rnUV value: ");
21           IntToStr (UV_3_read(), uartTxt);
22           Uart5_Write_Text (uartTxt);
23           Delay_ms (750);
24     }
25 }