OPT3001EVM -- A Possible Alternative to Cheap Chinese Luxmeters -- Updated #'s

Hi folks,

Recently I have been looking for a cheap way to measure lux values without compromising on accuracy. Initially I had hopes that the ambient light sensor (ALS) in my phone would suffice, but it became clear very quickly that it was almost hopelessly inaccurate. The sensor in my phone (a Nexus 5) is an APDS-9930. Since this is also the sensor djozz found in his Xperia (thread), I think it is fair to say it is representative of most smartphone ALS sensors. Here’s the spectral response alongside that of the human eye:

By Skatebiker, vector by Adam Rędzikowski - File:Evesensitivity.svg, vectorised, CC BY-SA 3.0, File:Eyesensitivity.svg - Wikimedia Commons

Not so good. On top of this, at least in my phone the dynamic range of the sensor was terrible — it measured too high with low light values and too low with high values. I then purchased the Harbor Freight “14 Function Multimeter” (a clone of the Mastech 8229) to see if I could knock out my lux meter and DMM needs in one go. The standard DMM functions performed fine (even if they didn’t, I have no real way to measure their accuracy) but the lux meter was unusable. Here’s the spectral response:

While it is better than the APDS-9930, it still doesn’t match the eye’s sensitivity very well and it only has a resolution of 1 lux. Furthermore, it read no lower than 5 lux in total darkness, and exhibited the same dynamic range problems as the smartphone sensor — so back to the store it went.

I don’t mind DIY, so I started searching for suitable photodiodes to make my own lux meter. While many of them were more expensive than ideal ($20-40) I found one that seemed to fit the bill — the$2 Texas Instruments OPT3001. It has a range of 0.01-83K lux and communicates with a standard I2C interface, so it would be easy to use with most microcontrollers (here’s a pre-designed breakout board someone has already made with it; note: I have not vetted this person’s design). Here’s the datasheet and here’s some relevant specs and the spectral response:

It’s not perfect, but it’s very close to the human eye response! It’s auto-ranging and low-scale resolution of .01lux, and it maintains only a 4% deviation between different types of light sources. The measurement output result is guaranteed to within 10% without calibration, which makes this equivalent to a class B lux meter and consequently much more accurate than a cheap Chinese lux meter. It’s worth noting also that 5% or less deviation from absolute is possible if calibrated with a fully accurate, known source — this would put it alongside a class A lux meter. Although I didn’t make a comprehensive search, it’s the most accurate ALS I found for under ~$30. Perhaps most importantly, TI makes a $25 evaluation board, the OPT3001EVM, which comes 100% ready-to-use and includes some fairly basic testing and logging software — here’s the user guide for it. Mouser, Digikey, etc., all carry this evaluation board. I bought it from Mouser for $30 shipped.

Here’s what I received in the mail today:

The actual sensor is the small chip in the center of the board in the second photo. And here’s the accompanying software (downloadable through TI’s website; requires registration) in action:

I haven’t built my integrating sphere yet, so I have no lumen values to present, but I can say that it appears to be extremely sensitive. The resolution at low light levels appears to match the spec sheet — it should have no problem measuring differences between various firefly or moonlight modes. Until my integrating sphere is built, all I can measure is throw. Here’s the values for three of my flashlights:

The easiest reference point is the Astrolux S1 3D. Taking a representative sample from the measurements of the S1 on turbo, I measured 2111 lux @ 2m, which comes out to 8444cd and 183.7m of throw. This matches almost exactly maukka’s throw measurement for the 3D Astrolux S1 (thread). It’s only one point of comparison so take it with a grain of salt, but it appears that this ALS is very accurate. For further reference, my lightly modded BLF D80 (dedomed stock LED [XM-L2 1A, unknown flux bin], centering ring adjustments, BLF A6 driver, 20ga wires, tail spring bypassed) measures just a hair under 80kCd, which seems to be in the right ballpark.

It seems to me that this may be a good alternative (at least for USA based BLFers, I don’t know the shipping prices to other countries) to cheap Chinese luxmeters. It has good accuracy and resolution, a good spectral response, is easy to hook up to a microcontroller or computer for data collection, and is inexpensive. For those with the skills to design circuits and solder flat-pack IC’s, the $2 standalone chip might be a good option, and additionally a third-party designed breakout board also appears to be available. Given the requisite skill and motivation, it would be possible to design a cheap custom BLF lux meter with this chip.

I feel certain that this is not the only option for a cheap but good ALS out there — but it happens to be the one that I’ve found.

Hopefully this information is useful to some. If I can, I’ll post some lumen values in this thread once I get around to building my integrating sphere — with any luck these will help confirm rather than disprove the apparent accuracy of the chip.

Tl,dr: The TI OPT3001 may be a good quality alternative to cheap chinese lux meters, at $2 for the chip, ~$10 for a premade breakout board, or just $25 for a ready-to-use evaluation board that includes logging software.


UPDATE 7/20/2016

I’ve gotten around to making my integrating sphere:

Underneath all that foil are the now-standard Smoothfoam balls, both sanded smooth on the inside. The larger 30cm ball is the primary sphere, ported to accommodate the secondary sphere, which acts as a diffuser for the OPT3001EVM. There is a single baffle in the secondary sphere. The baffle, combined with the port locations, ensure that light entering the sphere must undergo at least two reflections before reaching the sensor. Accordingly, it is fairly insensitive to beam pattern; floody and throwy lights both measure accurately in this sphere.

Calibrated with a new Nichia 219C (80CRI, D280 flux bin) and a new XP-G2 S4 2B, I arrived at an average conversion factor of 25.

Since datasheet flux values are guaranteed to within 7, it seems reasonable to suggest that this sphere is accurate to within 10. Additionally, since I calculated the conversion factor based on the lowest guaranteed flux numbers, it seems reasonable again to claim that my numbers may be lower than the actual values by up to 10%, but should not be higher. I would always rather err on the side of caution than discover my numbers are inflated.

To confirm that the sphere is accurate across a wide dynamic range, I then measured the Nichia 219C on a single 7135 chip with three modes, 100, 40, and 3. Lumen values measured by the sphere came in at 100, 41.5, and 5.1 (the slightly higher values are to be expected, since the LED is more efficient at lower currents) — which confirms that the conversion factor also applies on the lower end of things. To double check the higher end of the range, I measured a GE LED bulb rated at 1600 lumens, and with the conversion factor of 25 arrived at a value of 1520 lumens — 95% of the bulb’s rated value. Given the fact that the bulb is old and also that the stated lumens are likely slightly inflated, I consider that an additional confirmation that the response of the sensor is accurate across a wide dynamic range.

Here’s the measurements for my stock Astrolux S1 (on a fully charged LG MJ1) using this sensor, sphere, and conversion factor:

Since I do not know the flux bin for the XPL led in the S1, it is difficult to say for sure how accurate these are, but they seem reasonable, and unlike my measurements with the Mastech 8229 clone, the measured values are more appropriately spaced.

It seems to me that my integrating sphere measurements confirm again that the OPT3001 provides a linear response across a wide dynamic range. It would be good to run more tests (for example, with single-color LEDs to test the stated spectral response) but for now I am happy. Barring unusual data later on, or someone correcting my much-less-than-scientific methods, I think it’s safe to say that the OPT3001 is very accurate, and especially as the OPT3001EVM, is an excellent low cost lux meter option. I would recommend it as a likely more accurate and reliable sensor than a cheap chinese luxmeter.

—FrontPorchCarver

Excellent find.The breakout board seems to be assembled in London,3 Euro post to France .I presume there is a list of components to fit to the board.

Ah I hadn’t even noticed that it was assembled in the UK with cheap shipping to European destinations — good eye. And it looks like shipping is very reasonable even to the USA, starting at $3.95.

I don’t know if there’s a list of components on the breakout board, but the OPT3001 datasheet appears to have most or all of the relevant information.

$6.4 for assembled board on Aliexpress!

Update in OP.

Very interesting work FPC!

In my attempts at getting a grip on measuring light I regret that I never learned how to use computers for controlling and automating equipment, it very much limits what I can do. It is great to read that you both know the optical aspects well, and how to use computers to your advantage.

I’m looking forward to more! :slight_smile: