Grove - UV Sensor


3.3V 5.0V Analog

The Grove – UV Sensor is used for detecting the intensity of incident ultraviolet(UV) radiation. This form of electromagnetic radiation has shorter wavelengths than visible radiation. The Grove - UV Sensor is based on the sensor GUVA-S12D which has a wide spectral range of 200nm-400nm. The module outputs electrical signal which varies with the UV intensity, which gives your suggestion if it is a good idea to beach today.


  • High stability
  • Good Sensitivity
  • Low power consumption
  • Schottky type photodiode sensor
  • Wide response range
  • Grove Interface


Item Min Typical Max Unit
Operating Voltage 3.0 5.0 5.1 VDC
Current 0.31 mA
Output Voltage mV
Response wavelength 240 ~ 370 nm
Working Temperature -30 ~ 85

Platforms Supported


UV sensors are used in many different applications. Examples include pharmaceuticals, automobiles, and robotics. UV sensors are also used in the printing industry for solvent handling and dyeing processes. In addition, UV sensors are also used in the chemical industry for the production, storage, and transportation of chemicals.

The fact of the UV sensor work is: In sunlight, the UV index and Photocurrent are a linear relationship.

About our Grove - UV Sensor, we have converted Photocurrent to corresponding voltage value collected by Arduino/Seeeduino. The output voltage and the UV index is linear:

illumination intensity = 307 * Vsig

where: Vsig is the value of voltage measured from the SIG pin of the Grove interface, unit V. illumination intensity unit: mW/m2 for the combination strength of UV light with wavelength range: 240nm~370nm


To calculate the UV index value, please refer to US EPA. It is hard to say that the measurement from this sensor can be converted to the EPA standard UV index, but can be estimated roughly.

UV Index = illumination intensity / 200


  • Connect it to A0 port of Grove - Base Shield.
  • Plug the Grove - Base Shield into Arduino/Seeeduino and connect them to PC using a USB cable.
  • The demo code is shown below.
 // modified by Victor 
 // to calculate UV index directly
void setup(){
void loop()
  int sensorValue;
  long  sum=0;
  for(int i=0;i<1024;i++)// accumulate readings for 1024 times
 long meanVal = sum/1024;  // get mean value
 Serial.print("The current UV index is:");
 Serial.print((meanVal*1000/4.3-83)/21);// get a detailed calculating expression for UV index in schematic files. 


ArduinoWioBeagleBoneRaspberry PiLinkIt ONE


The platforms mentioned above as supported is/are an indication of the module's hardware or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:

  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.

An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.

Happy hacking