Water Monitoring in cold, remote locations with a solar Electron

The Spudnik project is designed to monitor water quality and other environmental parameters in remote locations, report over the cell network and post the monitoring data to Ubidots and the Particle console.

The project is described, hardware identified, and the code posted at:

The initial deployment of this project in northern Minnesota has been working continuously since June 2018 without maintenance. As we enter winter, temperatures have been below freezing every day since November 7th with a low of -22C. Future implementations will incorporate water depth sensors and experiment with other battery types for cold conditions.


Now operating at -35C, the configuration described above, of an electron with a LiPo 2000 mA battery and solar panel, has reported every 15 min. since summer.
Most of the air temperatures since November have been below freezing with several nights as low as -37C. Last night, at -35C as the “Polar Vortex” passed through Minnesota, Spudnik continued to report after a 5 hour break due to the SOC routine reporting an unusually low battery charge. At very low temperatures (<-15C) the unit has been showing unusual charge voltage levels and battery state of charge (SOC) but the unit continues to function.


Glad it’s holding up in this crazy weather!

Interesting, what have you seen specifically?

Thanks for sharing, Cole!

It’s impressive to hear that the devices are continuing to function at such cold temperatures. Our recommended minimum operating temperature is -20F/~-29C, so the fact you are able to have them continue operating at such cold temps in excess of this is unusual. I would certainly keep an eye on things as you are definitely bordering outside of recommended minimum temperatures.

Interesting project! I hadn’t seen a perma-protoboard used like that, I wouldn’t do it like that (personal pref) but I have to admit it’s rather good looking!

You write:

An alternative depth sensor is implemented in code but is experimental and involves placing a 2nd BME280 in mineral oil underwater to detect water pressure.

I’m not sure you will be happy down that path… Have you considered the MS5803 or MS5837? E.g. https://www.sparkfun.com/products/12909 (overpriced, IMHO), or https://thecavepearlproject.org/2014/03/27/adding-a-ms5803-02-high-resolution-pressure-sensor/ I’ve used an MS5837-02 to measure the water level in a wetland for over a year and have been very happy with it.

@tve Typically the voltage and SOC increase quickly in the morning when sun hits the solar panel and drop gradually when the sun goes down. At reasonable temperatures, overnight the voltage and SOC gradually drop to about 80% charge. In the extreme cold, overnight the voltage and SOC drop quickly and fluctuate dramatically but above -20C the SOC never drops below 70%. Below -20C the voltage and charge dropped quickly and when the SOC got below 60%, my code puts the electron to sleep for 5 hours. In late morning, after the 5 hours of sleep (and the presence of warmer temperature) the electron woke and was fully charged.
Below shows voltage (fuel.getVCell()) and temperature over 9 days.

Below shows SOC (fuel.getSoC()) and temperature over the same 9 days.

Since I put the electron to sleep for 5 hours when the SOC goes below 60%, it is unclear what is happening from about 5 in the morning 'till it wakes up at around 10am.

@tve Thanks for the input. I’ll look into the reference you provide. What kind of resolution & repeatability are you getting? My BME280 in mineral oil has the advantages of very cheap and easy to construct. Essentially it’s a submerged BME280 in a balloon filled with mineral oil and corrected for atmospheric pressure with another BME280. Of course there is the tricky business of making a well sealed unit to keep water out and mineral oil in. After about a week of conditioning, I get ± 0.5% and ±0.2inch over 36 inches of water change. Been running for about 6 months with no apparent problems.

The voltage drop is being caused by the battery chemical compound actually freezing during the super low temps. On the Electron the SOC is voltage based only.

@RWB Thanks for the insight. I figured it might be something like that. It surprises the heck out of me that the battery continues to work after repeated below-specs temperatures for a couple of months. The unit has already provided much more valuable information than I initially hoped. Monitoring northern Minnesota mining projects will never be the same. It reminds me of the martian rover Opportunity that lasted 15 years after being expected to run for about 90 days. I’ll let Spudnik run until she decides to sleep for good, or I can get to her in the spring. In any case, thanks a bunch for your ideas that helped me get her launched.

The battery will take a beating.

Worst case scenario is that the run time will just become shorter and shorter but depending on your discharge depth cycles you could get a longer lifespan than you are expecting.

So let it run and let’s see how far it goes before you see any issues with the battery.

Does that mean that a small heating pad on the battery that turns on below -20C…-25C could actually produce a better overall result even though it obviously consumes energy?

That is what Tesla does with car batteries for better performance.

It’s a bit tricker with these smaller systems due to less power to work with but a heater could be powered via solar input and help bring the recharging temp up above the minimum recommended charging temp.

What do you use fo a balloon and how large is that unit? Sounds like an ingenious solution!

The MS5837 is nice in that it has a groove for an o-ring, so you drill a hole into a PVC cap or something like that, insert it, and fasten the PCB it’s soldered on. For example, https://oshpark.com/shared_projects/tmj9V9p2 (I don’t like that specific PCB due to lack of a connector).