HOWTO: NukeMeter – Measuring UV-C Light Intensity

akiba 2020-03-26

After building the NukeBox, I wanted a way to measure real values for the light intensity. Theoretical models are nice, but since the stakes are so high, I wanted to see how much theory deviated from reality. What I needed was a sensor that would allow me to quantify the actual light intensity and compare it with the theoretical values calculated in the previous post. After doing some research, I picked up a cheap little module with a UV photodiode on it. These modules normally go for $2.50, although I paid a bit extra to get it fast from Amazon Prime. So let’s get to it…


NukeMeter is a device that allows you to measure the intensity of UV-C light put out by standard germicidal bulbs. It relies on a low-cost sensor and some open source hardware and software. For the prototype in this HOWTO, total cost in materials is ~$2.50 for the sensor module and around $3 for the Arduino-compatible board if you get them off eBay.

The Theory

A photodiode generates current when it’s exposed to light. A common example of it is a solar panel. This particular photodiode, the GUVA-S12SD,  is sensitive to light from 240 nm to 370 nm. This takes it through the complete UV-A to UV-C ultraviolet bands. The specific wavelength of light we’re interested in is 254 nm which is the output wavelength of the UV-C bulbs.

To measure the intensity, we’re going to rely on a specific property of these bulbs, which is over 95% of their UV light output is in the 254 nm wavelength. The typical emission spectrum for low pressure mercury bulbs, the standard germicidal bulbs, look like this:

Source: Link

Because most of the light is at a particular wavelength within the UV bands, we won’t need to play around with light filters or do any specific tricks to get the light intensity. We can assume that almost all the light is UV-C at 254 nm and just add a derating factor of something like 2-5% from the calculated value.

Now we need to jump into the datasheet for the photodiode since it holds key information we’ll need to calculate the light intensity. One of the important parameters to take note of is the active area of the photodiode. This is the portion that is excitable by UV light and will generate current. If we take the power hitting the diode and divide by the active area, that will give us the light intensity in mW/cm^2.

Another important figure in the datasheet is the responsivity curve. This describes how responsive the photodiode is to different wavelengths of UV light. The responsivity at 260 nm (~254 nm) is approximately 0.04 A/W (amps per watt). This relationship means that if we can measure the output current of the photodiode, we can get the total power of incoming UV light on it which should be almost all at 254 nm. Once we have the total power, we just need to divide by the active area and that will give the intensity at that point:

Intensity = (Total power) / (Active Area)

Now that we have our strategy sorted for getting the intensity, the next challenge is to get the photodiode to spit out the current. Once we have the value for the diode current, we can convert that to the intensity based on what was just discussed. Typical photodiode currents are extremely small, usually measured on the order of nano-amperes or billionths of an ampere. To measure currents this small, we (electronics people) usually use a mechanism called a transimpedance amplifier.

A transimpedance amplifier is just an op-amp in a specific configuration. It usually uses a huge feedback resistor that provides what’s called transimpedance gain, or essentially converts a very small current into a measurable voltage. Luckily, the cheapie UV photodiode module comes with a transimpedance amplifier. Here is the schematic circuit diagram for the module courtesy of Proto Supplies:

If you want the gory details, here’s a rough play-by-play. Otherwise, you might want to skip the next two paragraphs. The photosensor is exposed to UV-light and puts out a current, say 100 nA. The 10 megaohm (10M) resistor converts that current to 1V. The 3.3k and 1k resistor divider means that the voltage at pin 1 of the op-amp will be at 4.3V. At this point, we’re actually pretty good. Unfortunately the designer of the module fed the output to a second amplifier stage with a gain of 6. That would put the final output voltage at over 25V which is not possible with a 5V supply. That just means the output voltage would saturate at 5V and we wouldn’t be able to get any information from that value. Needless to say, this module was designed for measuring very weak UV light, i.e. outdoor sunlight. We’ll have to do a bit of surgery on the module if we want to use it to measure the UV-C germicidal lamps at fairly close range.

Luckily the modifications aren’t too bad. We mainly just need to nullify the second amplifier’s gain. That means the voltage at the output of the first op-amp will be the same voltage we measure at the output of the second. In other words, we want it to have a gain of 1. To do this we need to remove the 1k resistor and change the 5.1k resistor to 0 ohms. In this configuration, the second op-amp is in a follower configuration or follows the input. There are very useful purposes for follower circuits, but not really in this case. I’m just trying to avoid cutting the circuit board directly.

Now that the modifications are done, we’ve finished our game plan for measuring the intensity of UV-C light. It consists of the following:

  • Place sensor in location we want to measure the intensity.
  • Assuming the light is turned on, measure voltage at output.
  • Convert the voltage to current using the following formula:

(Current from diode) = (Ouptut Voltage) / (Voltage Gain * Transimpedance Gain) 

where Voltage Gain = 4.3 (due to the resistor divider) and transimpedance gain is 10^7.

  • Convert the current to total incident power on diode

(Total Power) = (Current from diode) / (Responsivity at 260 nm)

Where Responsivity at 260 nm is found from the datasheet to be 0.04 A/W.

  • Finally divide the total power by the excitable active area of the diode to get intensity. You’ll also have to fiddle around with the units a bit to get the intensity in mW/cm^2, too.

Intensity = (Total Power) / (Active Area)

where the active area is 0.076 mm^2 or 0.00076 cm^2.

Yay! We can now measure the intensity of the UV-C lights.

The Build

Here’s a shot of the photodiode module mounted on a breadboard. Incidentally, this is the Hackerfarm FredBoard, a board we designed for teaching Arduino workshops at Hackerfarm.

Some modifications will be necessary on the sensor module board. If you don’t feel comfortable with soldering and removing/placing surface mount components, I highly recommend contacting a local hackerspace and inquiring about getting some help.

Now that the sensor board is modified, we can mount it in our test fixture and measure the UV-C light intensity. But first….SAFETY!!!

Cover up all exposed skin and wear protective UV-blocking eyewear.

I started off by taping the sensor to my bench which will be my test fixture. In this experiment, I’m only using the Arduino to provide a 5V supply to the sensor module. I’m manually reading the voltage output using a multimeter.

I then turned on the UV-C light and covered the sensor. I also made sure the sensor was placed directly underneath the light bulb in the center.

The voltage coming from the sensor was 1.5869V according to my benchtop multimeter. This corresponds to a whopping 37 nA or 37 billionths of an ampere.

Going through the calculations we outlined above, this gives us an incident power of 1.21 mW/cm^2. From the previous NukeBox post, we calculated 1.364 mW/cm^2. So the actual intensity seems to correlate with the theoretical model pretty well.

Now that I’m able to measure the intensity of the UV-C bulbs, I decided to automate it. I connected the output of the sensor module to the “Analog 0” (A0) pin of the Arduino. I then wrote some Arduino code to automatically capture and calculate the UV-C light intensity.

You can find the software at the hackerfarm github repo here.

This allowed me to do some interesting things. I first wanted to check how the light intensity of the UV-C bulbs varied with time. I heard that they needed a specific warmup time so I thought I’d try and see for myself.

I kept the lamp off for a few minutes. This was also a good time to take a break and go out for a walk. When I returned, I turned the lamp on and recorded the intensity values. You can see that the lamp does need a specific warmup time. One minute gets you around 80% of the way there and by 5 minutes, you’ve pretty much stabilized.

I also decided to check the intensity variance along the axis of the lamp bulb. The ideal intensity model assumes the lamp is uniformly radiating and an infinitely long bulb. I wanted to check how much reality deviates from the ideal model.

I was surprised to find that there was very significant deviation in the light intensity depending on the location along the bulb axis. The two ends of the bulb were the weakest radiators whereas the center of the bulb was unsurprisingly the strongest. This means that the intensity variation would need to be taken into account when using the lamp as a sterilizer.


I think there’s a lot that can be improved with NukeMeter. One of the most obvious improvements would be to calibrate it against a known reference. This could be a calibrated UV-C sensor or with a known source and known intensity a distance X away from it. If anyone knows a lab that can help us with calibration, that would be amazing!

I also think that it could be packaged up in an easy-to-use fashion so that non-electronics professionals would be able to use it out of the box.

I’ll probably be adding more to NukekBox and NukeMeter so stay tuned.

Stay safe everyone and lots of love and admiration from HackerFarm 🙂


  1. Hi looks like a cool project. Can you post the diagram or pinouts for connecting the sensor to the arduino?

  2. Hi. The pinouts are actually quite simple. The (+) pin on the sensor goes to 5V, (-) pin goes to GND, and the signal pin goes to Analog Pin 0 (A0). With that, you should be up and running on the code.

  3. Great info. I’ve recently purchased a couple of T8 UV linears and was trying to determine an easy way to quantify the output, short of $200 for a pack of one-time-use sensors. At the minimum I can see uncalibrated dosage with this; ideally, I hope to connect a relay to initiate the lamps, and include an integration loop to shut off the lamps after a predetermined dosage.

  4. Thank you for your post. I built a UVC chamber to sterilize PPE at our emergency department. I would love to quantify how much UVC light is actually reaching the masks using your method. It looks like you replaced the chip labeled 512 (resistor?) with a 00 resistor? I was thinking of a piece of wire. I am having trouble finding the 1K resistor to remove. I think it is the chip to the right of the 512 one but can’t tell from your photo. It looks like it is still there. Can you please clarify? Thanks again.

  5. Hi Todd. Yes, you can short the 512 (5.1k) resistor with a piece of wire. The 1k resistor that was removed was the one immediately to the right of the 5.1k resistor, also. If you have doubts, feel free to send me a pic of your module and I can confirm. I sent you an email. Also the pic of the module in this post still hsa all of its original components and has not been modified yet. Hope that helps!

  6. Posting the exchange via email for other people to reference:
    Todd: “Thank you for the clarification. I removed the 5.1 and covered it with a solder blob. Connecting my multimeter to signal and ground I get 64mV at best. I am using a 25w UV-c off of AliExpress. Is there anyway to tell if the values are correct vs the bulb isn’t that good ? Perhaps I shouldn’t cover the 5.1 with a solder blob. It is very hard to see. ”

    Akiba: “> If you move it closer to the light source it should get much stronger. You should be able to see the output increase. If you don’t, it’s possible there’s an issue somewhere. The voltage I get with a 10W bulb at 7 cm is around 1.8V. This correlates to around 1.5 mW/cm^2.”

    Todd: “Thank you again so much. I didn’t realize I had to power the sensor with 5V. Once I did it I got 4.94V consistently. With the light off I got 10mV from ambient fluorescent light in the room. With direct application of the 25W bulb I got the 4.94 which correlates to 3.78mW/cm2. Assuming the variables are the same as in your example this would explain why my 25 watt bulb puts out almost exactly 2.5x the intensity of your 10W bulb. I did not see a variation along the length of the tube nor did I notice much warm up variation. Pretty much hit 4.94V right away and dropped off as soon as I move the light away. I was probably 8cm away.

    Thanks again. I will research the links to see what the appropriate time to expose masks to for germicidal activity. This is huge. Thank you so much.

    Akiba: “So happy to hear you got it working 🙂
    Also we are trying to aggregate links about UVGI sterilization at the Hyjeia site. Hopefully it saves you some time:
    Good luck and keep us posted on how it goes!

    Akiba: Yay!

  7. Hi, great posts in here, I’m not techy to say the least but I’m trying to build a UV-C and Ozone machine for sterilising masks.
    Can anyone advise if there are stand alone UV-C Dosimeters with multiple sensors or has anyone build some in the UK?
    I’m in the construction industry and the UK Gov has let us continue working but with the 2m social distancing in place.
    We have good policing with a 1 to 7 ration of supervision but want the lads to use FFP3 masks.
    I have masks and filters but the suppliers have rightfully diverted manufacture to the healthcare. I would like to be able to help the NHS and my construction projects by building this machine. Before this Epidemic even got crazy I bought some 15W UV-C bulbs (Ozram HNS15W G3 T8) and an ozone generator.

    I was considering using my hog roast machine which has an attachment with racks for doing around 50 chickens (Neve used) and mounting the bulbs in an array on the lid to overlap and not have low emission areas. More bulbs on the bottom with Mirrors on the sides and bottom with the ozone generator located near the plug hole. (Will probably need to flip the masks from time to time or just use a glass panel inside instead of the racks)

    Any thoughts appreciated
    The roasting machine is stainless steel and should be a good containment vessel.

  8. Hi. You can calculate the theoretical minimum time with the following:
    Intensity = Power / (2*PI*r*L)
    where r = distance from light and L = length of bulb.

    Dosage = Intensity * time = (Power * time) / (2*PI*r*L)
    Using the following values for your bulb:
    Power (UV-C) = 5W = 5000 mW
    L = 43 cm
    Dosage (for influenza) = 10 mWs/cm^2

    You get the following relationship:
    time = 0.54* r
    If you put the masks at r=10cm, then the MINIMUM time would be 5.4 seconds to inactivate influenza to 99.9% assuming uniform power radiation. In reality, it won’t be uniform so people irradiate masks for around 10-15 minutes.
    Also there are UV-C meters available via ebay.
    Hope this helps.

  9. Reposting email thread:

    Hi Akiba,
    I am attempting to create the NukeMeter you wrote about. I got the sensor, modified it, connected it to an Arduino board. I uploaded your code to it and then when I look at the “Serial Monitor”, all I’m seeing is gibberish. Here’s a link to what I’m seeing. Any tips on what I’m doing wrong? Sorry if it’s something basic. This is my first time using an Arduino board.

    In Serial Monitor, your baudrate is set to the incorrect speed. Since I am initializing the serial port to 57600 bps, the baudrate in the Serial Monitor needs to also match. It’s currently set to 9600 bps from the screenshot. Can you please set this to 57600 bps and try that out?

    It works! I feel like an idiot but don’t care. Thank you so much! I’ll be making NukeBox’s for my family and friends now with a higher sense of confidence that they’ll work. Thanks for the tutorial and if you ever setup a donation page or a “” page, let me know!

    I’m happy it’s working. Good luck with your UV box and I’m so happy that you will be making more for your family and others. Please keep us posted on how that goes. In the future, we may set up a donation page to allow us to buy calibration equipment for the UV research so will let you know.
    In the meantime, stay safe and take care.

  10. Reposting email thread:
    Hi Hackerfarm,
    I am a nurse in one of the COVID Referral Centers here in the Philippines and I recieved donations of UVC lamps and we are looking forward to turn it to sterilization boxes. I need some help in computing the right dimensions for the placement of bulb, right size for the box and the exposure time to kill the virus. Here are the specifics of the UVC lamps I recieved: Philips TUV 25W T5 4P-SE, 25w ballast. I hope you can help us. If you need more information, you can send me an email in the address provided.

    In the NukeBox article, it explains how to calculate the theoretical intensity and dosage. I would recommend using the following numbers:
    r = 10 cm, ie: mask is 10 cm from light
    L = 50 cm, ie: Philips TUV 25W T5 is 50 cm long P = 8000 mW, from datasheet, UV-C power is 8W or 8000 mW D = 10 mWs/cm^2, this is for influenza virus. SARS (original) is around 5 mWs/cm^2

    If you put all of these together, the MINIMUM dosage time is around 4 seconds for 99.9% inactivation. Most places do around 10x to 100x this dosage and would leave the masks inside for around 10-15 minutes. This is mainly to be safe.

    If your masks are a different distance from the light, using the other parameters above, the MINIMUM dosage time would be:
    time = r / 2.55

    I would still recommend 10-15 minutes exposure though to be safe.
    Hope that helps.

    Were trying to use 4 UV lamps so we can accomodate to light all sides of the items. For now were looking to using it to everyday items of nurses such as phones, keys, ballpens, self inking stamps etc. Then maybe eventually and I hope not when stocks of PPEs run out, N95s. Basically we think that 4 bulbs are a lot stronger than a single bulb, do you think we can make the area for items bigger? What do you think? Attached is the rough draft Im in progress of making. I just started it an hour ago when lamps arrived.

    Yes, I hope you don’t have to reuse the PPE. Ha ha ha.
    If use more bulbs, you can sterilize faster. Best case is to use a UV dosimeter to quantitatively see dosage and calculate sterilize time. Otherwise without, I’d use the theoretical calculations and then multiply by something like 10 to 100.

  11. Hi Akiba, I’m recently developing some UVC LED lights. Please let me know where I can buy this NukeMeter

  12. Hi, you can actually buy the sensor module and reproduce what I’ve done. It’s using the GUVA-S12SD sensor so if you search for that on Amazon, eBay, or ecommerce site in your locale, you can probably find something.We are also working with open hardware manufacturers to make dosimeters available but that might take some time.

  13. Thanks a lot ~ I don’t know how to work with Arduino board >_< so I may have to buy one in the open market.
    I'll keep my eye on your projects to see references. Thanks anyway.

  14. You need to be careful giving a high dose of UV-C to N95 masks. Too much and you can damage the mask’s filtration ability. There are some studies about this if you google around

  15. Thanks for the warning. Please check the references at the official project site to save time googling around. We’re aggregating any reference we can find for UVGI sterilization, especially in the context of mask reuse.
    Here’s the link.

  16. I am also looking into this sensor to validate boxes we are creating at our healthcare facility. Any direction to hackerspaces in Kentucky (USA) would be greatly appreciated by myself and my facility staff.

  17. Hello Akiba,
    thank you for sharing this project. I have a plan to make a decontamination box the same way with your NukeBox projects. But I have a question about the formula for measure the time exposed, on your response below you write that the form to get time exposed is (TIME = 0.54*r) and on the other responses the formula changed to be (TIME = r/2.55).
    The question is, I still don’t get it the source value of 0.54 and 2.55 that you use for looking at the times exposed. I’m so interested in this project and I hope you can answer the question.
    Thank you so much.

  18. Hi CauseAr. I’m basically using the formula from the Nukebox article. It’s Dosage = (Power)*(time)/(2*PI*r*L). For influenza virus, Dosage = 10 mWs/cm^2. Other parameters are as mentioned above. If you fill out the formula, you can just solve for r in terms of time or vice versa. Those should give you the numbers I stated.

  19. Hi Akiba, I built a UVC Nukebox and I want ad NukeMeter. But for delivery your module sensor model in France… the delivery times is one month.
    I fond : Seeedstudio 101020043 or Adafruit ADA 1918. Can you help me to choose and custom it, please
    Sorry, I try to practise my rough English.

  20. For the SEEED studio module, replace the 1M resistor with a 10M resistor. Same for Adafruit. That should be the only modification required according to the schematics. Hope that helps 🙂

  21. Hey Akiba, I have a similar project although I want to measure if the UV-C lamps are actually outputting 254nm or not. I was thinking to actually check with various UV lamps to get a rough calibration and then map those values, of course the would be approximate values only. Do you think I can just take the voltage out from the lamps and see what values they give based on different wavelengths?
    Also if I were to use a higher voltage DC supply(not sure how Im gonna do this), would that mean I can get around without shorting the 5.1k resistor and removing the 1k resistor? Although then I would have to scale the o/p voltage down to something that the arduino can measure. Thanking you in advance

  22. Hi Akiba, I built a UVC Nukebox and I want ad NukeMeter. But there isn’t delivery for your module sensor model in Argentina.
    I fond : Arduino Uvm-30a Md0158. Can you help me to custom it?, please
    Sorry, I need to improve my English jaja

  23. Hi Akiba, It is a great article and project in this COVID 19 situation. I wonder if there is any codes available to convert the voltage read into mW/cm^2 and readable on an I2C display hook up with the Arduino board that you can recommend. Thank you so much Fred

  24. Is it a good idea that you just solder a wire to the pin 1 of LM358? If you don’t remove the resistors, you may use the module for another future project.

  25. Hi. It’s possible to just bypass the output of the 2nd op amp and take the output of the first which is what you’re suggesting. It would be equivalent. My point was to minimize modifying the sensor board since some people aren’t very comfortable with soldering or cutting traces.

  26. Adafruit 1918 “replace the 1M resistor with a 10M resistor” – I can read I swear (just saw that comment above!)

    This is super helpful, I really appreciate the detail in this breakdown!

  27. Great project and a huge thank you for sharing! I’d like to connect the transimpedance amplifier to the analog pin of a ESP8266 that has 10-bit resolution allowing me to transmit the values over wifi. I see that VCC of the amplifier is +5V but the ESP8266 needs to operate at +3.3V. Should I run the amplifier at +3.3V and tweak the associated resistor values or create a boost circuit for the amplifier keeping +3.3V everywhere else?

  28. The gain of the opamp circuit does not depend on the supply voltage but limits of the output voltage swing does.

  29. Thank you for the great project, I plan to build portable UVC sterilizer powered by battery. And your nukemeter is just right to test the output intensity. I just bought CJMCU-S12D and going to modify it. I found resistor (512) and going to replace with a wire, but not very sure which 1K resistor to remove. Am I correct as the image shown?

  30. @Season: Yes, the 1k should be removed and the 5.1k should be shorted with a 0 ohm resistor or wire. Good luck!

  31. @akiba: Thank you very much, I will update here with my progress once I have done.

  32. Thank you for this very useful project specially now that theres a lot of fake UVC in the internet. I created your nuke meter using Adruino 2560 controller board and GUVA-S12Sd sensor. I tried to measure 3 Watts portable LED UVC and im only getting voltage of 0.01V Intensity of 0.01. Please help if my meter is working. Can you also send me a picture of the modified GUVA-S12SD without resistor 1K removed and 512 nulled. Maybe I made a mistake modifying the resistors.

  33. Has anyone verified the results with a calibrated UVC meter ?. I measured the intensity of my UV bulbs with GUVC-T21GH ( with appropriate calculations and get much higher values. It could be my GUVA-S12SD breakout boards. I have ordered another type of sensor from DigiKey and will conduct another test and post all the results along with the code. FYI, GUVC-T21GH has a transimpedance amplifier inside the TO-5 case.

  34. According to the calculations in the article, 1 mW/cm^2 @260 nm will result in 0.00076 * 0.04 mA = 0.0000304 mA = 30.4 nA ie close.

  35. Hi @Methlal. Thanks for your help on verifying the accuracy. At the moment, it hasn’t been checked against a calibrated meter. I’m mainly using it to check relative dosage and also that lights are working and they are emitting UV light. It has led to interesting findings such as the variance of UV output on the fringes of the light and that the geometry of the light source matters. For it to be used as an accurate piece of instrumentation, it would need to be checked and calibrated in a lab or against a calibrated instrument.

  36. Hi @Akiba,
    Also any dust or sweat etc on the sensor can also affect the readings. We also need to take into account the viewing angle of the sensor which is 100 deg (SMD 3528, app note).

    Thanks !.

  37. @Methlal Interesting work, roughly how much diff is your GUVC-T21GH vs GUVA-S12SD?

  38. @Season W, It’s like 150 uW/cm^2 vs 270 uW/cm^2 with the same light which cannot be explained at the moment. Both sensors have a viewing angle of 100 deg. If you assume that 1mW/cm^2 @260nm will result in 28.25 nA in GUVA-S12SD the computed intensity will be higher but not by this much. I am trying to borrow a calibrated UV-C meter to verify this.

  39. @Methlal Thanks for info sharing. I wish to know the diff of UVC meter reading later, so that we can calibrate the sensor value with rough calculation.

  40. Your post was very helpful. There was no information about the sensor from the manufacturer. Now I can make the UV box thanks to you!
    I’ve gone through the math and the research papers. The reason you are getting 4sec time is because you are taking a dose of 5mWs/cm^2. That is in lab conditions and assumes this coronavirus behaves like the last one.

    Here is a review of papers on dosage and the suggestion of 2000mWs/cm^2 for sars-cov-2. This is because different research posted different results. The dose is higher due to shadow, presence of other materials that absorb UVC in a real world setting.

    Hope you find it helpful! Just trying to return the favor

    I need a little help. Is the calculation above for the modified sensor or default sensor? I want to measure low doses as I am building a bigger box and want to measure the effects of shadows. What change do I need to make in the calculation for a sensor that is not modified?

  41. @Gordon Freeman, The calculations given in current, ie it’s before amplification. However as Akiba pointed out in his article the unmodified sensor will go out of range due to high amplification.

    @Season W, The calibration values are specific board/sensor dependent. As you can see from the video on the right side of this post two identical boards with GUVA-S12SD placed next to each other are giving two different readings.

  42. Section V and Fig. 6 of this paper explains why the irradiance tapers off at the two ends. This sensor has a viewing angle of 100 deg and i will pickup energy within that range while obeying the cosine and the inverse square laws. When you approach the ends the energy received from one side starts to diminish. This could be one of the reasons.

    With a 100 deg viewing angle it’s unlikely that the 2*pi*r*l model will hold. The paper treats the tube light as an array of point sources and integrates along the length of the tube to obtain the irradiance at a given point.

  43. @Methlal Good fact in the video, seems like the accuracy not good in uW, but I think it is good enough to test for SARS-CoV-2 in mW with only a few dollars build. Anyway, this is good to know how much diff from UVC meter or others, looking forward your test with UVC meter.

  44. @Season W, Managed to get hold of a NIST calibrated UV-C meter. After heating up the lamp for 10 min.

    UV-C meter – 146 uW/cm2
    GUVA-S12SD – 145 uW/cm2

    So this is very close. But with GUVA-S12SD boards the response changes slightly from board to board.

  45. Oh wow! That’s great to hear there’s a good correlation between the two. I wasn’t sure quantitatively how much power from some of the other frequencies the GUVA-S12SD would pick up. It seems like it didn’t make a huge difference which is what I suspected but couldn’t be sure of without an actual UVC meter. Thanks!

  46. @Methlal Wow, the result is cool for GUVA-S12SD, so @akiba nukemeter tested to work as good as UVC Meter. Thanks for all the sharing.

  47. akiba

    Thank you for sharing this valuable information.
    My question is this.
    From where I get that at 7 cm distance the lamp produces 1.3 mJ / cm².
    These lamps (Philips TUV 10W) produce an intensity of around 23 µW / cm² at 1 meter distance and applying the inverse square law at 0.07 m (7 cm), the intensity would be 4.69 mJ / cm².

  48. Hi Jon.
    The inverse squared law applies to a point source of light that radiates spherically outwards. The inverse square actually comes from the assumption that the distribution of power is uniform over the surface of a sphere, aka (Power / (4*PI*r^2)) hence ~1/r^2. For a bar light, this means that r must be much greater than the length of the bar light. When you are at 7 cm distance and the light is something like 10 cm long, then that case no longer applies. In that case, you are more in the realm of the power being evenly distributed over the surface area of a cylinder or (Power / (2*PI*r*L)) or ~1/r.

  49. @Methlal Thanks for the comparison with a calibrated sensor. That is very helpful. Now we can be sure that the dosage we are giving is correct.

  50. Calculations don’t match:

    Nukemeter Article: “The photosensor is exposed to UV-light and puts out a current, say 100 nA. The 10 megaohm (10M) resistor converts that current to 1V. The 3.3k and 1k resistor divider means that the voltage at pin 1 of the op-amp will be at 4.3V.”

    Protosupplies Article – “The first stage op amp outputs a voltage proportional to 4.3 * sensor photocurrent in µA. If the photocurrent is 0.1µA (0.9mW/cm^2), then the output will be 0.43V”
    But, .1 µA = 100 nA

    Both the articles refer to the same sensor and Nukemeter article credits the Protosupplies article. The current in both articles is same but the voltage if 10 times more in case of Nukemeter. This is in the first stage. I am confused as to what’s causing this.

  51. @Gordon Freeman
    The first stage DC transfer function is I * 10^7 * 4.3V where I is in Amps. (10^7 = 10M Ohms)
    If I is in nano Amps is will be I * 10^-9 * 10^7 * 4.3 = I * 10^-2 * 4.3 = ((I * 4.3) / 100) V where I is in nA.
    So 100 nA DC will result in 4.3V.
    So if the resistor is 10M Akiba’s calculations are correct.

  52. I repeated the test again with a similar sterilization box but this time decided to simultaneously capture the UV-C meter (Solarmeter 8.0 RP) and the computed values instead of doing it in two sessions. This time GUVA-S12SD.sensors are showing less intensity. Switched back to the old box and saw similar results. All sensors are placed as close as possible to each other at the middle and the lamp is about 16cm away and is 14.5cm long.



  53. Interesting! Thanks for taking the time to do these measurements and putting together the setup.
    I suspect one potential issue is that there may be positional variation. If the Solarmeter is placed directly in the middle of the light bar while the other sensors are more to the side, you can see from my graph above that there is quite a lot of positional variation based on proximity to the center. One possible way to check for this is to take measurements in as much of the same spot as possible from the meter and the sensors.

  54. I repeated the test by placing the Solarmeter and GUVA-S12SD sensors exactly at the middle and observed the readings after about 15 min.

    The Solarmeter 8.0 RP shows 212 uW/cm^2.

    The modified GUVA-S12SD board sensor voltage shows 206 mV which corresponds to 206/1.307= 157.61 uW/cm^2 (Pl. correct me if incorrect). I used a Digilent Analog Discovery 2 lab device to read the voltage this time thereby eliminating the code.

    I think this closely agrees with the simultaneous readings that I took earlier. The readings that we obtain using the modified GUVA-S12SD sensor board is around 0.7 of the meter readings.

    Since the computed irradiance is less than the value shown by the meter we can conclude that the required dosage is received by following this method.

    I have requested the details of the sensor from makers of Solarmeter but they are unresponsive.

  55. Thanks Methlal. It’s good to know the discrepancy. I contacted the people at Roithner LaserTechnik and they informed me that the datasheet was not super accurate. I think that you may have stumbled on to that, especially since the conversion factor at 260 nm is a very rough guess based on the chart. If the discrepancy is consistent, then this means a calibration factor would need to be included in the readings to improve the accuracy. That’s actually great to know since it means it’s possible to have a low cost UV-C meter that is decently accurate for low pressure mercury bulbs 🙂

  56. If the Arduino has an EEPROM one possibility is to store the calibration value(s) in it assuming that you are going to use the same sensor with the board.

  57. Hello All,

    Thank you for all the great work and time spent in this endeavour.

    Could anyone Please (pretty pretty please) release a formula for both the modified and unmodified GUVA sensor for determining the mW/cm2 of UV-C based on the respective output voltages.

    I am trying to make a dual range sensor and having the higher voltage output of the unmodified sensor would be very helpful.

    Also, regarding the GUVC-T21GH, there seem to be two items with the same name, one made by and one by with different output characteristics. I have the Geni-Corp one which according to the datasheet delivers 0.71V per 1mW/cm2 (unsure if it input voltage dependant?) and would love to check it against the GUVA sensor to get an idea of accuracy.

  58. Can we NOT remove the resistor 1k, and ONLY short the resistor 5.1k? Because shorting resistor 5.1k already makes the gain of the second op-amplifier equal 1. If this is true, why do we want to Go the second step—remove the resistor 1k? I was having really hard time to remove this tiny resistor 1k, and failed to do it. That makes me rethink the modifications. Please advise. Thanks.

  59. I take my word back. I have to remove the resistor 1k. I shorted resistor 5.1k, left resistor 1k intact, then I got an output voltage 2.36V constantly, even if my UVC source turned off. I think this output voltage is generated due to the existence of resistor 1k. Now I directly connect pin1 of LM358 to pin A0 of Arduino (not the SIG of the guava-s12sd sensor, otherwise you leave resistor 1k there), in this way, the second op-amp can be bypassed.

  60. Hi Ron. If you short 5.1k but leave 1k in, you are essentially pulling down the signal feeding into the opamp. This will bias it towards zero and give you an incorrect reading. The idea to short 5.1k and remove the 1k resistor is to turn the 2nd op amp into a unity gain buffer, which means it just passes the signal through directly. This prevents people from having to cut and solder wires directly on to the pins to extract the signal since the original signal will be available at the output pin of the module.

  61. @Mihail, GUVC-T21GH is terribly inaccurate (if you go by Vout/0.355) and is non linear at lower power levels.Given below is my communication with Geni-UV regarding this sensor.

    I haven’t tested it at higher power levels but if you want accuracy at few hundred uW/cm^2 you need to go with the GUVC-T10GM-LA which is very expensive. (Geni-UV quoted $45 but Digikey charges $90).

  62. @Methlal

    Thank you, I was hoping the cheap GUVA sensor would work for low power by keeping the original amplifier setup but so far have been unable to determine the conversion formula to mw/cm2 for it. In my tests I measured the output with a 18bit ADC and it seemed to me like the gain of the second stage was around 6.8 with a total gain of around 30.

    I tested the 3 sensors side by side and got these results (unsure about the formula for conversion, i think it doesn’t go to enough decimal places and as such small changes at low intensity get lost)

    At 90cm from source (osram 36watt)

    Channel 1 : 61437 microVolt =0.05mW/cm2(mofidied Guva)
    Channel 2 : 414625 microVolt = 0.05mW/cm2 (unmofidied Guva)
    Channel 3 : 29000 microVolt = 0.02mW/cm2(GUVC-T21GH ) @.071v per 1mW/cm2

    At 55cm from source
    Channel 1 : 129875 microVolt = 0.1mW/cm2(mofidied Guva)
    Channel 2 : 898375 microVolt= 0.1mW/cm2(unmofidied Guva)
    Channel 3 : 60250 microVolt=0.08mW/cm2(GUVC) @ 0.71V per 1mW/cm2

    At 30cm from source:

    Channel 1 : 277812 microVolt=0.21mW/cm2(mofidied Guva)
    Channel 2 : 1748687 microVolt= 0.19mW/cm2 (unmodified Guva)
    Channel 3 : 114625 microVolt= 0.16mW/cm2(GUVC) @ 0.71V per 1mW/cm2

    I simply introduced the converted microvolts into volts in the sketch provided by Akiba to obtain the results for the GUVA sensors.

    Overall I think I will give up on the intensity measuring and will focus on confimation of light operation and timing the intervals it has been operating, in order to give an indication to people entering a space if the light has been on for a sufficient time.

  63. Hi Mihail. For the GUVA-S12SD, how you get the conversion factor is to via the following formula:
    Power density = (Total current output of sensor) / (Responsivity in A/W) / (Total Area of sensor)
    – Responsivity is given by chart in datasheet
    – Total area is given by GenUV datasheet (not included in Roithner LaserTechnik datasheet) = 0.076 mm^2
    – Total current output of sensor is measured by transimpedance amplifier circuit

    With these variables, you can calculate the power density. From there, you just need to use conversion factors to get the units you want to use.

  64. Hi Mihail,
    One thing that can be done is to examine the analog output signal of the module with an oscilloscope. These trans impedance amplifiers are prone to oscillation (especially GUVC-T21GH) due to parasitic L and C if you use a breadboard. I am using an I2C ADC (ADS1115) and had to keep SDA/SCL away from analog. The UV-C lamps lose power over time so checking the output intensity from time to time is important.


  65. Hi Akiba,
    by first, I want congratulate you for the excellent description of how to modify and use the GUVA-S12SD module to measure the UVC light intensity. I have found your page when I was searching the circuit of the module. As you surely know, this circuit is a variation of the classic transimpedance amplifier that uses just one big valued resistance in the feedback loop. This configuration works fine but it is not possible set the gain without change the sensibility, and this drawback is overcoming in the configuration circuit of the module. To know if the configuration was well known, I searched in the web for transimpedance amplifiers having adjustable gain and finding nearly by chance this paper:

    Here is described the same circuit and the formulae of the gain is given. In fact, I knew the feedback network composed by the 10M, 3.3k and 1k resistor. It is a T network called as “short-circuit transfer impedance” in the book Introduction to Amplifier Theory and Applications. This T network has the propriety of give an equivalent resistance value larger than its individual resistances.
    As described by you and depicted in the paper, in the transimpedance amplifier this T network allows to set the gain.
    Neither the paper nor the book has the deduction of expressions to give the transimpedance amplifier gain or the short circuit transfer impedance.
    Knowing that is important to know how is the exact gain to give a thrustable measurements in the case of the Nukemeter, I deduced both expressions and I’m sharing with you an all interested people.

    Here is the link to the document:

    I hope you like the contribution.

    Best regards,

    João Roberto Gabbardo

  66. Hey akiba!

    First off let me thank you for this wonderful piece. It’s exactly what I needed. I’ve managed to try it out and I’ve encountered a problem. My application has such UV-C intensity that the sensor always reads 4.88 V. I use 3 lamps 18 W and have to measure at about 8 cm distance. I suspect that with this setup I go into saturation and I can’t really measure the differences. Is there a way to make the sensor less sensitive and thus be able to read higher intensities?
    Keep up the good work!

    1. Hi. If you want to decrease the gain, you would need to change the transimpedance resistor. I asusme you are using a 1M ohm resistor. To decrease it further, I recommend using a 500k resistor or 100k resistor. This will decrease the gain by 1/2 or 1/10 depending on the value you use.

  67. Hi, Thanks for the good work, very much needed in these times. Got inspired and about to start my adventure for making one. Just not sure if I can make the needed modifications of the PCB. But for calibration this can be used, . Though I feel if anyone has this why will anything else be needed.

  68. Hi Akiba,

    You are welcome!

    And concerning to the question from Guncl about the gain reduction, the best procedure is to use the current characteristics of the photodiode in conjunction with the formulae of K described in my text. IIt is mportant to note that according to the expression, as you reduce the value of Rf, the deviation from the gain (solely) set by R2 and R1 increases. It is caused by the term R2/Rf in the formulae.

    Best regards,

    João Roberto Gabbardo

  69. Hi, Akiba:

    Thank you very much for the article. 

    I bought a GUVA-S12SD at Amazon.  The module is tinier than I expected and I found that modifying the circuitry on it is rather challenging.  I  have the following questions:

    1. If one can manage to solder a wire to Pin 1 of LM358 and measure the voltage there instead, is it okay to use the module without modifying it?

    2. I would like to drive it with a power supply ~5V without using an Arduino-compatible board.  That ought to be okay, right?

    Thanks in advance for your help.

  70. Hi,
    Although the modifications suggested by Akiba works fine, it is necessary remove components and provide a solder bridge. Well, it is easy remove these tiny smd components, but solder them again is a clumsy task! Get the signal directly from pin 1 (or 5) at first sight means solder a wire to one of these pins to the SIG pin and also cut a track in the PCB. Again, if you want make the module works as before, is not easy restore the tiny track. I thought about these problems and had one idea to overcome these problems without remove any component ant cut tracks.
    As said before, the signal from fist stage is available at pins 1 or 5 and it is possible solder wire in one of them. But this wire must be tiny it can break easily in the soldering point and the better is solder the other extremity in an external pin. But if the connection to the SIG pin cannot be cut, there is no other pin available, and is not possible solder other pin to the PCB, what to do?
    Just use a screw, nut, lock washer, a pin header, wire to wire up assembly, solder, soldering iron and if available, a 3rd hand. After the modification, the module will have the standard SIG output and a second SIG output having the amplitude according to the Nukemeter specifications. Also is possible restore the module to the original condition easily!

    Better than describe what I done is look the pictures here:

    As can be seen in the pictures, my first attempt with the second SIG pin below the board proven to be a bad choice because the PCB of the module is somewhat long covering all holes of the proto board below it. By this way I decide get the signal from the top tacking care to avoid the possibility of block the photodiode.

    I hope the idea can be useful to other people.

    Best regards,

    João Roberto Gabbardo

  71. Hi João,

    Thanks for the reply. I am very interested to see the pictures of your work. I have followed the Google Drive instruction to send my gmail ID to you.

  72. I have made the modifications to the sensor, I have put the sensor in sunlight and it has very high readings, is this normal?

    13:21:44.723 -> Sensor Voltage: 2.09V, Intensity1.60
    13:21:44.928 -> Sensor Voltage: 2.18V, Intensity1.67
    13:21:45.131 -> Sensor Voltage: 2.23V, Intensity1.71
    13:21:45.372 -> Sensor Voltage: 2.25V, Intensity1.72
    13:21:45.578 -> Sensor Voltage: 2.22V, Intensity1.70
    13:21:45.783 -> Sensor Voltage: 2.12V, Intensity1.63
    13:21:45.989 -> Sensor Voltage: 2.05V, Intensity1.57
    13:21:46.193 -> Sensor Voltage: 2.02V, Intensity1.54
    13:21:46.432 -> Sensor Voltage: 1.98V, Intensity1.51

    Translated with (free version)

  73. @V99, That’s because it’s not a UV-C only sensor. A real UV-C sensor should have good solar blindness.

  74. HI folks,
    I’m not a big user of the Google Drive and in fact don’t like so much the idea of let my files in cloud services. After all, who really can assure if they are really protected and how much time will stay there? By this way, not knowing well how configure the sharing service in Google Drive the, document and pictures available by the links was acccessible only asking permission.
    Now I was able to change the configuration to all people in the internet having the link.
    I hope it is happening now. If not, I will discover by means of other people asking permission!

    Best regards,

    João Roberto Gabbardo

  75. Hi folks,

    Methal placed a link of a paper describing two methods of how to calculate the UV radiation from a linear UV light source. I have read the paper and also make the deduction of the equation 5 (for this one please refers to the reference 19 in the paper) and equation 9 for the simple scenario. For now, I don’t want make the deduction of equation 13 for the general solution. Anyway, if someone wants know the deductions of the other equations, please let me know and I can put it in a document to share. But I’m writing here again to let you know another way to calculate the irradiance of UV lights:

    This way seems to be promising.

    I hope it can be useful.

    Best regards,

    João Roberto Gabbardo

  76. Hi Akiba,
    Can you let me know how the values was acquired from Arduino to generate the graphics of UV-C Lamp Warmup time and UV-C Intensity Variance along Axis of Bulb? Both graphics seems to be plotted in Excel. Do you just have copied the values from Monitor Serial of the Arduino IDE or used a kind of communication with Excel?
    Best regards,
    João Roberto Gabbardo

  77. Hello, Thank you for this in depth design and implementation. My question is, how can I change the intensity to output a value in the wavelength form (nm). I want to verify the UVC bulb i have us indeed outputting 256nm wavelength. I am not sure how to tell if the bulb is actually working using the
    1.364 mW/cm^2 example you used above. Are you using the typical emission spectrum for low pressure mercury bulbs chart? That would mean the higher the (mW/cm^2) the better? With the max being approximately 1.8mW/cm^2.



  78. @Jose, This sensor has a wide spectral response. To check whether the lamp is emitting around 254nm you need a sensor with a narrow spectral response around that wavelength.

  79. Hi, Got inspired and tried it out.. I am trying it with a UVC tower that I have and got the following readings:

    20:25:16.031 -> Sensor Voltage: 4.99V, Intensity3.81
    20:25:16.237 -> Sensor Voltage: 4.99V, Intensity3.81
    20:25:16.444 -> Sensor Voltage: 4.99V, Intensity3.81

    My question is, how do I get the frequency of the light from this readings?

    Need some help please.

    Thanks Buddy.

  80. Hi Dibs,
    The photodiode has a relatively large response curve getting the UVC, UVA and UVB and if the wavelength and its irradiated power isn’t informed by the manufacturer of the tower, it is not possible trust in the measurements using the module. The only way to get the exact frequency, or better, the wavelength is using a UVC filter in front of the photodiode and to get the correct value of irradiance it is necessary take in account the transmission of the filter. The transmission means “how much” of the light pass through the filter in percent.
    Best regards,
    João Roberto Gabbardo

  81. I made a UVC illuminance meter with my own calculation method.
    As a result, a value larger than the calculation result of Akiba came out.
    The reason is using RESPONSIVITY=0.025.
    (Original value is RESPONSIVITY=0.04)
    Akiba uses the graph at 260 nm.
    I use the graph at 255nm.
    See my blog for details. (Japanese)

  82. Hi nandemoke.
    Can you provide a translation to english?
    Best regards,
    João Roberto Gabbardo

  83. Hi Roberto.
    I understand the matter of reverse current.
    I am not fluent in English and cannot translate into English.

  84. Hi nandemoke,
    I want thanks so much you for attend my request to translate the text to English. Yesterday at night (in Brazil) I was using the Google translator to make the translation to Portuguese to make a document describing your work and share with other colleagues of me researchers here in Brazil. Of course, I want ask your permission to share the project. Well, like the translation from Japanese to English, the translation to Portuguese is sometimes messy and it is necessary try to understand what the author was intending to say. By this way I need make some adaptations in the text. For example, the section describing the insertion of 10x amplifiers was not clearly. I understood that you had troubles with the noise generated by the DC-DC step up converter inside the handheld UV fixture when the amplifier was near the sensor and of course, the noise source. But another DC-DC step up converter is used and it was placed inside the box somewhat near the amplifier. Another point not too clear in the translation is the section of how the output voltage from the sensor was measured. The output of the sensor is a DC voltage that varies according to the power of the light in the photodiode, so a rms value is meaningless here. I’m sure you know that considering the power of the lamp constant, the irradiance measured by the photodiode will only modify if the distance of the light from it is changed and according the inverse square law.
    By last, I want thanks again you and ask your permission to share your project.
    Best regards,
    João Roberto Gabbardo

  85. Thank you for reading my blog.
    About 10x amplifier.
    I again observed the waveform on the oscilloscope, but the noise is less in the assembled state. I think that some unexpected noise occurred at the prototype stage. It may be close to the sensor.
    The DC-DC step up converter and the operational amplifier are placed as far apart as possible.
    Connect an electrolytic capacitor to the power supply.
    Connect a large capacitor to the operational amplifier.
    This keeps the noise low.

    Allow sharing the project.
    Please use it freely.

  86. Hi nandemoke,
    You are welcome!
    The DC-DC converters are a great source of high frequency noise and can be a headache in measuring equipment. Since the noise can go by the power lines even by tracks in PCB or connecting wires and also by the air. It means that it is not easy provide a good filtering. A shielding (connected to ground) around the circuit and the DC-DC converter is a good providence, the use of inductors (chokes) in series with power lines and of course filtering capacitors. The best is to use a capacitor having high value to filter the low frequency noise together a low value capacitor to the high frequency noise close to the power pins. The reason is that electrolytic capacitors are built using rolled aluminum foils and by this way have a relatively high parasitic inductance. This parasitic inductance is in series with the capacitance and acts as a high impedance to high frequencies. Concerning to your trouble with the noise at the first assembling, if you used long connections, the noise was being irradiated by the wiring and the oscilloscope probe acting as antenna captured the noise.
    I will add your last comment about the noise in the translated text.
    I want thanks very much for your permission to share the project.
    Best regards,
    João Roberto Gabbardo

  87. Hi nandemoke,
    it is possible translate to english the captions of the last graph where you compare the methods?
    Best regards,
    João Roberto Gabbardo

  88. Hi Roberto.
    Added caption.
    There were three in the first graph, but two are correct.
    Incidentally, the circuit diagram is also corrected in English.

  89. Hi nandemoke,
    I want thanks you so much again for kindly attend my requests. I tried to place the last request directly on your blog having a text exactly as I written here but was not possible: A message of comment error was ever returned. It seems weird because as you know, I put a long comment some time ago and it was published. Do you know what may be happening?

  90. Hi Roberto.
    I wrote it in English, but it was impossible.
    I wrote it in Japanese.
    The settings may have been changed by the blog administrator.
    I don’t know what to do.
    I will tell you my email address.
    Please send a message here.

  91. Could this same UVC solution be configured to read FarUVC levels from 207nm to 222nm

  92. Hi.
    GUVA-S12SD is 240nm to 360nm.
    There is no responsivity from 207nm to 222nm.
    It is necessary to find an element that can replace the GUVA-S12SD.

  93. Hi folks,

    The assumption made by Mr. Akiba to use the inverse of distance law (1/r) to calculate the dosage in the sterilization box is valid.

    A colleague teacher of physics sent to me an article discussing the effectiveness of the inverse square law to light sources of various geometries considering the distance from it. The first case is just for cylindrical geometry. The link to download the article is here:

    Best regards,

    João Roberto Gabbardo

  94. Regarding UVC effects on N95 masks see: Effects of Ultraviolet Germicidal Irradiation (UVGI) on N95
    Respirator Filtration Performance and Structural Integrity
    William G. Lindsley,1 Stephen B. Martin Jr.,2 Robert E. Thewlis,1 Khachatur
    Sarkisian,3 Julian O. Nwoko,4 Kenneth R. Mead,5 and John D. Noti1

  95. Hi, Akiba , greetings from India, I’m a student currently in university, wanted to build a UVC tower for my college as they lent their space for quarantining to the hospital,I had questions.
    1. Is the formula or method for testing dosage, area of disinfection(as I’m covering room) , intensity etc is same as that of you provided for nukebox ? or are there any significant changes to be made?
    2. Depending upon the area we have(20 *10)feet for disinfection, we need to first test UV tubelight available and then select them according to the theoretical values. So please help in this matter

  96. Akiba,

    I am curios why Power Total = Current / Responsivity? If you look at it, that calculation produces a higher power for a lower responsivity, and in fact as you approach 0, the Power calculation goes infinitely large. Also why does the photo current from the spec sheet not enter the calculation? I would think that you would divide the current by the photo current per mW and possibly multiply by the responsivity?


  97. I offer the following to help with Matthew’s question. Photodiode specification sheets will have a responsivity versus wavelength curve. The responsivity will be in A/W (amps per watt) and the wavelength usually in nanometers. The spec will also have the active area of the photodiode, usually in square millimeters (mm2). If you know your light source is monochromatic, for example, all the radiant power is at 254 nanometers (nm), then you can use this information to find what photocurrent corresponds to an irradiance falling on it of one milliwatts per square centimeter (mw/cm2). On the curve read the value corresponding to 254 nm in A/W, multiply it by the active area in mm2, and multiply this result by 10^4. The result will be the number of nanoamperes corresponding to one mw/cm2 of 254 nm irradiance falling on the sensor. Now you have a calibration constant. Go out and measure photocurrent and then DIVIDE the photocurrent by this calibration constant and the result will be the mw/cm2 falling on the sensor. Caution. If the source has other radiation lines that fall within the sensor’s responsivity curve, the situation is more complicated and the above calculation doesn’t work unless you have a filter to screen out the non-wanted lines.. For this reason I use the Genuv GUVC sensors that are blind to UVA and UVC because UVC lamps put out spectral lines at higher wavelengths.

  98. To calibrate the meter, it is enough to get a certified lamp. They work at a fixed voltage and amperage, and are known to produce a certain optical power at a certain wavelength.

  99. Because most of the light is at a particular wavelength within the UV bands, we won’t need to play around with light filters or do any specific tricks to get the light intensity. We can assume that almost all the light is UV-C at 254 nm and just add a derating factor of something like 2-5% from the calculated value.

    Now we need to jump into the datasheet for the photodiode since it holds key information we’ll need to calculate the light intensity. One of the important parameters to take note of is the active area of the photodiode. This is the portion that is excitable by UV light and will generate current. If we take the power hitting the diode and divide by the active area, that will give us the light intensity in mW/cm^2.

  100. Hello, very cool project. It’s been useful to me, thank you!
    I have a question, how would the UV index be calculated with this intensity value?

Post a new comment