

The LTR390-UV-01 is a high-performance ultraviolet (UV) light sensor manufactured by Waveshare. It is designed to detect UV light levels and provides an analog output proportional to the intensity of the UV radiation. This sensor is compact, energy-efficient, and highly sensitive, making it ideal for a wide range of applications.








The following table outlines the key technical details of the LTR390-UV-01 sensor:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5V |
| Operating Current | 5 µA (typical) |
| UV Wavelength Range | 280 nm to 400 nm |
| Output Type | Analog voltage |
| Operating Temperature | -40°C to +85°C |
| Communication Interface | I2C |
| Dimensions | 10 mm x 10 mm x 2 mm |
The LTR390-UV-01 sensor has a simple pinout for easy integration into circuits. The table below describes the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V to 5V) |
| 2 | GND | Ground connection |
| 3 | SDA | I2C data line |
| 4 | SCL | I2C clock line |
| 5 | INT | Interrupt output (optional, for event detection) |
Below is an example of how to interface the LTR390-UV-01 with an Arduino UNO using the I2C protocol:
#include <Wire.h>
// I2C address of the LTR390-UV-01 sensor
#define LTR390_ADDRESS 0x53
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
// Initialize the sensor
Wire.beginTransmission(LTR390_ADDRESS);
Wire.write(0x00); // Example: Write to a configuration register
Wire.endTransmission();
Serial.println("LTR390-UV-01 initialized.");
}
void loop() {
uint16_t uvData = readUVData(); // Read UV intensity data
Serial.print("UV Intensity: ");
Serial.println(uvData);
delay(1000); // Wait for 1 second before the next reading
}
uint16_t readUVData() {
uint16_t uvValue = 0;
Wire.beginTransmission(LTR390_ADDRESS);
Wire.write(0x01); // Example: Command to read UV data
Wire.endTransmission();
Wire.requestFrom(LTR390_ADDRESS, 2); // Request 2 bytes of data
if (Wire.available() == 2) {
uvValue = Wire.read(); // Read the first byte
uvValue |= (Wire.read() << 8); // Read the second byte and combine
}
return uvValue;
}
0x00 and 0x01 with the actual register addresses from the sensor's datasheet.0x53) matches the address of your sensor.No Data from the Sensor
Inaccurate UV Readings
Sensor Not Detected
Q: Can the LTR390-UV-01 measure visible light?
A: No, the sensor is specifically designed to detect UV light in the 280 nm to 400 nm range.
Q: Is the sensor waterproof?
A: No, the LTR390-UV-01 is not waterproof. Use a protective enclosure for outdoor applications.
Q: Can I use this sensor with a 3.3V microcontroller?
A: Yes, the sensor operates with both 3.3V and 5V power supplies, making it compatible with most microcontrollers.
Q: How do I calibrate the sensor?
A: Calibration involves comparing the sensor's output to a known UV intensity source and applying a correction factor in your code.
This concludes the documentation for the LTR390-UV-01 UV light sensor.