I'm working on a project that is in need of some testings to validate it. I need to make some readings of luminance from a light source and store this reading with a timestamp (milliseconds precision).

I've thought of using a common camera, but it seemed too slow for my application (<= 30fps) and it would need some firmware hacking to be able to integrate it with a computer so I can get my timestamps.

I've thought about photometers also, but I couldn't find one that will allow me to read the data from it through, lets say, an USB interface.

Does anyone have a suggestion about this issue? What could I do to read luminance with milliseconds precision timestamps?


I'm sorry, but my question wasn't very clear. I don't need to worry about absolute values of those readings. What I need is a kind of photometric trigger generator for an oscilloscpe or such with a not-so-precise threshold. The idea of using a microcontroller with a photometric sensor seems to be a good solution, but I'll leave the question open a little longer to see if other ideas might pop up. Thanks for all the answers.

  • 1
    \$\begingroup\$ Some sort of photoelement (photo-transistor, photo-resistor or photo-diode) plus a microcontroller with USB support and a circuit to drive the element? \$\endgroup\$
    – AndrejaKo
    Mar 30, 2012 at 18:30
  • \$\begingroup\$ Adafruit carries a few of light sensors: adafruit.com/category/35_61 as does SparkFun: sparkfun.com/categories/102 \$\endgroup\$
    – ben
    Mar 30, 2012 at 18:40
  • \$\begingroup\$ This seems like a similar project to Sensor for detecting airsoft bullet. \$\endgroup\$ Mar 30, 2012 at 21:26
  • \$\begingroup\$ I'm not sure what's the proper sensor to measure luminance, but is there any reason you can't just use an oscilloscope to do the timestamping and data transfer? Or a recording multimeter? What's the overall duration of your measurement? How many samples are you taking? Do you need to process the data in real time or can you collect all the data then post-process? \$\endgroup\$
    – The Photon
    Mar 30, 2012 at 22:59

2 Answers 2


If I were designing it I'd probably use a little PIC or AVR with a FT2232 (serial-to-USB) adapter and a light sensor from Sparkfun. The PIC would just use its ADC and measure the light level and then write to its UART a timestamp + light level reading. Some PICs (PIC18) have built-in USB interfaces so you could forego the FT2232, but the FT2232 is cheap and is a zero-programming-time cost adder, since all the PIC sees is a regular serial port (and all the PC sees is also a normal USB serial port).

Beyond the basics, I'd probably add in a way to zero the timestamp and to calibrate the return value on the light sensor... Maybe a software PLL along the lines of what the Network Time Protocol uses so you could synchronize multiple sensors (if your application needed it).

  • 1
    \$\begingroup\$ There is no need to zero the timestamp in the micro. It could even be (probably should be) a 16 bit variable that counts some sort of ticks derived from the crystal that wraps occasionally. You can then figure out real time on the host. As long as the wrap time is "long" from the host's point of view there is no amgiguity. 16 bit ms would wrap less than once a minute, which should be plenty good enough. \$\endgroup\$ Mar 30, 2012 at 20:49
  • \$\begingroup\$ AVRs also have USB interfaces. RS232 still has its uses, but it's dying, and this is not (IMO) a good place for it. \$\endgroup\$ Mar 30, 2012 at 21:28
  • \$\begingroup\$ I used an ARM evaluation board to this purpose: STM32F4 Discovery. It worked flawlessly. Thanks for the tip. \$\endgroup\$
    – ivarec
    Apr 5, 2012 at 13:49
  • \$\begingroup\$ @OlinLathrop you're right there is no need to sync it up, but I'd do it because I like the ability to zero timestamps on the device itself. It's practically a no-op to implement as well. :-) \$\endgroup\$
    – akohlsmith
    Apr 5, 2012 at 13:51

I have done some measurements of high-intensity precision light sources myself for my internship, and always used a spectrometer. The spectrometer (one from Avantes) can measure irradiance and radiance. In this case we had one with USB2.0 with a large and high precision spectrum, and were struggling to get 100 samples/second across (never looked into it, but I think it doesn't reach 50 updates/sec). We often used it at short (1ms) integration times ('capture'/'exposure' time) and was VERY noisy. Updates without averaging were also a bit noisy so we were using large oversampling rates for stable measurements (like 500x). This is all with the manufacturers software, I don't think there is an API to allow data extraction.

Moreover, at 'safe' irradiance levels (something that isn't going to directly blind people, like 1mW/cm2), we were measuring almost nothing at this short integration time. Only at potentially dangerous irradiance levels (like 10mW/cm2 or more) we were reaching full scales. If you want to do a DIY solution, you may encouter integration times as well, and may become a big issue if you're only catching low intensity light very quickly.

Furthermore a DIY solution is quite hard if want absolute precise values. Typical sensors have 'horrible' spectrums. Picking a sensor is fine, but if you want anything absolute you can't go without calibration from a known, precise light source. I am not saying it can't be done, but somehow those spectrometers and ready-made powermeters become to look quite cheap.

Also watch out you don't mess up radiometric (Watt) and photometric (lumen). Lumen takes sensitivity of human eyes into account and you can't convert it without knowing about the shape of the lightspectrum of your light source. If I quickly look at some of the sensors mentoined at Sparkfun, these are radiometric (they give you Watts).

If 30fps is too slow, what speed do you need? Do you need the intensity at 1 spot, or is your goal to measure the power output? Do you measure different light sources (even warm white or neutral white LED's can make a big difference)

I guess your biggest hit would be to search for a fast luminous flux, lux or lumen meter with USB2/serial support. You may need to modify your rig with a special set-up, integrating spheres or whatever to make it work for your situation.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.