AUTONOMOUS high precision light sensor

Hi everyone,

I am starting my very first Arduino project. It’s supposed to be an autonomous high precision luxmeter, used to work on very low light levels coming from the sky at night. Moreover, I want it to be able to measure the energy coming from the whole « half-sphere » of the sky. So I need multiple sensors (a « pyramid » of 4, I imagine) being read simultaneously (or one by one in a short amount of time, if not possible). No calibration to an industrial luxmeter is needed, it’s just for comparison.

The device has to :

  • Take measurements for 1 week straight whithout changing the battery (maybe with a pause during daytime, to save power)
  • Take a measurement spaced by 10min
  • Take temperature level at the same time
  • Log every data on an SD/microSD card
  • Be as cheap as possible to make around twenty of them
  • Be compact (I mean, i don’t want to power it with a big car battery, for instance)

Beyond my absence of skills in arduino programming, I’m facing some issues and need first advices :

  • Autonomy of Arduino boards : these boards are quite power consuming, so I am looking for something less greedy. I think about some very-low-power-controllers like the Butterfly or Ladybug from TleraCorp (https://www.tindie.com/products/tleracorp/ladybug-stm32l432-development-board/). I have them now, but I have problems with RTC calibration and libraries…
  • Choice of light sensor : In the multiple projects on low levels light meters found on the internet, it appears that the analog TSL237 gets the best results at low light levels, but, maybe with 4 of them, it’s to power greedy… So I’m thinking about I2C ones with low detectable minimum illuminance and high resolution (like VEML7700 or the new VEML6035). But with 4 of them I get an issue because they will all have the same i2c address…
  • Choice of battery : I was originally thinking about a 10’000mAh lipo associated to a Butterfly board, but as I will maybe go to a more « classical » Arduino board, maybe will I need something more beefy ( ?)…
  • For the t°, I’m thinking about BMP280 or BME280, but maybe it’s better to take a good old analog sensor ?
  • Power consumption optimization : It will depend on the board, but is there some tips to keep the lowest power consumption from a board, to run it each 10 min, during one week ?

So if anyone could give me some tips, ideas, advices or links to get my project to its term, it would be really appreciated !

(hoping my problem is not too general to fit this “sensor” forum. maybe it would be better in “project guidance”, or “other hardware development”…)

For the very best low power performance with ATmega328-based Arduinos, follow this detailed tutorial.

To make the equivalent of a "bare bones" Arduino, I use the $2 eBay 3.3V Pro Mini boards, and remove the voltage regulator and power LED. When so modified, the board will run for years on 2xAA batteries, if most of the time is spent sleeping.

Consider using a small solar panel to recharge the batteries during the day.

For temperature, nothing beats the ease of use of the DS18B20 sensor, and you can individually calibrate each one to get +/- 0.5 degree accuracy or better.

corbeau1:
Hi everyone,

I am starting my very first Arduino project. It’s supposed to be an autonomous high precision luxmeter, used to work on very low light levels coming from the sky at night. Moreover, I want it to be able to measure the energy coming from the whole « half-sphere » of the sky. So I need multiple sensors (a « pyramid » of 4, I imagine) being read simultaneously (or one by one in a short amount of time, if not possible). No calibration to an industrial luxmeter is needed, it's just for comparison.

Can you be clear what you mean by high-precision? Should it respond equally to all angles of incidence?
If not why not just use a flat photo-diode? Large area flat photodiode can collect a lot of light and sees the
whole sky (albeit with cosine angular reponse).
Also what about spectral response - precision might imply a flat spectral response, rather than the standard
silicon photodiode curve.

If you want several sensors then use photodiodes in parallel with negative bias - then all the photocurrents will
sum and they won't affect each other. Its also the most sensitive mode for photo-detection.

The TSL237 has a narrow field of view, -3dB at about 30 degrees, meaning about 8 of them would be
needed to cover 2 pi steradians.

Large flat photodiodes are perhaps the best approach as their directional law is simple and wide, and
can be combined easily.

Note that dark currents will limit sensitivity for any photodiode, and increased temperatures make this worse.

Its not clear photo-diode based devices are going to be sensitive enough for starlight.

thanks @jremington for this tutorial, this seems complete. However, I read that in term of energy saving, the STM32L432-based boards from tleracorp are good, if not better!
I will consider these LED and regulator tricks.

@MarkT: Thanks for answering. Sorry I wanted to keep things simple for my first post.
By saying high precision i mean:

  • if the device can respond equally on the whole 2 pi steradians it would be perfect, but my choice is limited by the need of low price, of ease of making, of ease of use (I'm a very-newbie).
  • no need to have a flat spectral response, as long as it measures at least the whole visible spectrum
  • the device must have the highest resolution at very low irradiance, as I want it to detect slight fluctuations, linked to artificial lights for example.

I was interested in TSL237 as it is often used in sky quality measurement projects (based on this device : Sky Quality Meter-L). I didn't checked large flat silicon photodiode. Do you have a reference in mind? Is the detectable minimum illuminance low? I need to find it mounted directly on a board, if possible, for easy prototyping.

Indeed, that would be nice if it works well, and I would use that trick of connection in parallel with negative bias.