Remember when you were a kid and there was a birthday party at the pool and your parents totally embarrassed you by slathering you all over with sunscreen and you were all “MUM I HAVE ENOUGH SUNSCREEN” and she wouldn’t listen? Well, if you had this UV Index sensor connected up to an Arduino you could have said “According to this calibrated SI1145 sensor from SiLabs, the UV index right now is 4.5 which means I do not need more sunscreen” and she would have been so impressed with your project that you could have spent more time splashing around.
The SI1145 is a new sensor from SiLabs with a calibrated light sensing algorithm that can calculate UV Index. It doesn’t contain an actual UV sensing element, instead it approximates it based on visible & IR light from the sun. We took this outside a couple days and compared the calculated UV index with the news-reported index and found it was very accurate! It’s a digital sensor that works over I2C so just about any microcontroller can use it. The sensor also has individual visible and IR sensing elements so you can measure just about any kind of light – we only wrote our library to printout the ‘counts’ rather than the calculate the exact values of IR and Visible light so if you need precision Lux measurement check out the TSL2561. If you’re feeling really advanced, you can connect up an IR LED to the LED pin and use the basic proximity sensor capability that is in the SI1145 as well.
We wrapped this nice little sensor up on a PCB with level shifting and regulation circuitry so you can safely use it with 3 or 5V microcontrollers. If you are using an Arduino, Adafruit have produced a lovely tutorial and library already written up with example code so you can quickly read sensor readings and the UV index in under 10 minutes. Each order comes with one fully assembled and tested PCB breakout and a small piece of header. You’ll need to solder the header onto the PCB but it’s fairly easy and takes only a few minutes even for a beginner.