Go Down

Topic: Detect snow in rain gauge (Read 2 times) previous topic - next topic


I have a Davis rain gauge (basically a 6 inch funnel to collect rain) with a heating accessory installed that will melt snow that falls in to the rain gauge. I'd like to install a sensor connected to an Arduino that only turns the heater on when some snow has accumulated in the rain gauge funnel. I'm looking for suggestions as to what kind of senor I can use. I don't want to measure how much snow there is with the sensor, just whether or not there is snow in the rain gauge. I'm open to installing a sensor right in the rain gauge or something external that could detect when it' snowing. Any suggestions?


How about a simple lever/switch with a plate with some holes mounted on the lever?
Rain will drain, snow will accumulate & trip the switch.
Combine with a temp sensor to turn on the heater if temp is below freezing.
Make the plate heatable for self clearing occasionally.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.


The rain gauge is made from black plastic.

I don't think a switch would work, it would probably freeze up.  Ideally I'd like something that I can install by instlling a hole in the side of the rain gauge and mounting a sensor.  I could also use a sensor that had a beam that the snow breaks; so I'd drill two holes, one for each side of the beam.  I don't know much about these types of sensors and it would have to work outside.  I don't think any direct sunlight would reach the sensor because I only need it in the winter when the sun is lower in the sky, but if it's overcast it could get a fair amount of indirect sunlight.


Or simply purchase something like one of these and try it


The snow should reflect the infrared.



I think it's a tough problem since it's not going to be just snow -- you also have freezing rain to worry about.

Would it be possible to place an infrared LED/photo-transistor looking across the throat of the funnel?

 \              /
  \            /
->\          /<-- Here.
     \      /
      |    |

A thin film of flowing water will not obstruct the beam.  A plug of ice or snow or a buildup of ice will affect the beam.  Beam disruption coupled with temperature below 4 degrees would be your indication to run the heater for a while to see if that restores the beam.


Yes, it's possible to put a infrared LED/photo-transistor looking across the throat of the funnel.  But I'm not sure what to buy; I don't know anything about these sensors.

The Honeywell Phototransistor o/p reflective sensor (HOA1405-002) that jackrae referenced might work to.  I'd have to test it.  I'm not sure how to wire this up to the Arduino.


Scott, are you already successfully recording rainfall?  I have been working on an Arduino program to do this and would be interested in your solution to the snow problem.


Just move to where I live, it snows here lightly only every 20+ years or so.  ;)



I'm not recording rainfall with Arduino.  The rain gauge is connected to a Davis Vantage Pro console. This in turn is hooked up to a HauteWind which pushes weather station data to weather underground.

I'm just looking to use an Arduino to control the heater.  I'm sure an Arduino is overkill for this.  Maybe down the road I'll try and figure out a simpler circuit.  Right now I want to figure out what sensor works.  I ordered a HOA1405-002 sensor from digikey and am going to test that first.

I think it would be pretty easy to record rainfall with Arduino, and use an Ethernet shield and push it out to pachube.com or something.  The rain gauge just generates one pulse every 0.01" of rain.


I have a lot of experience with tipping bucket rain gauges.  It's bothersome to record page after page of zeros so the system I am designing will record only when the bucket is tipping.  Professional gauges also allow you to set the period during which you want to record, such as 15 minutes which is common for government TB gauges.  Isolating the gauge electrically from the rest of the system is important in areas wher lightning is a concern.  Reed switches do not provide a clean pulse so edge detecion and debouncing are also important.

I want a stand alone system that uses little power yet maintains accurate real time stamping for an infinitely long period without concern for the Arduino rollover problem.

I connected my gauge to a wireless garage door transmitter button to send a wireless signal to an adapted garage door receiver.  This provied a nice clean 0.5 second zero to 5 volt signal to my Arduino taking care of debounce and isolation from lightning strikes.

In my area, we seldom get precipitation and when we do get it it is often intense and of short duration.  We also get a lot of it in the form of snow.  In my case, I am interested in the rain equivalent of snow and it is easy to plot the bucket tips and see what is rain and what is snow melt.

I have not been able to find a commercially available reasonably priced system that does what I need so that is why I decide to design my own using an Arduino.  I'm still working on the c code.

Coding Badly

@ScottG: How expensive is the heater to run?  Is it driven by batteries?  How aggressively should the snow be cleared?  Is clearing it once a day OK?  Once a week?


I have two 24 ohm resistors (Newark Electronics P/N 98K2919) hooked up in parallel.  They are connected to a 120 V Pri / 24VAC Sec transformer.  Assuming the 120V t0 24VAC transformer is 90% efficient, the heater would use 269KWH/month.  My electricity is about $0.135/KHW, so it would cost me about $36/month if it was on all the time.  

I have a snap thermostat (Newark # 16M4628) which is set to 65 degrees F contolling the heaters.  I insulated the outside of the rain gauge with foam (McMaster Carr P/N 93265K45).   I only did one test so far.  It was about 18 degrees out and I put about 4 inches of snow in the gauge.  It took several hours to melt.  I still have some more testing to do; I need it to melt the snow faster.  I want to change the thermostat to a 110 degree F and see if that helps.  I have some insulation that came with the Davis Instruments heater kit which goes on the inside of the rain collector I want to try in addition to my insulation on the outside.  I hoping the 110 thermostat and extra insulation will help.

The Davis heater kit was not effective at all.  It has one 24W resistor as a heater and last winter it was frozen up all the time.  It never melted the snow.  I only saw rain readings on warm days.  

My rain collector is in southern Vermont.

I have two 24

Coding Badly

This is what I would try...

Provide an outside temperature reading for the Arduino.  This could be an actual sensor or a way to get a fresh value into the Arduino.  

If the temperature is above some value (say +2 Celsius), assume there can't be snow in the rain gauge.

If the temperature is at or below that value, assume there could be snow in the rain gauge.  In this case, run the heater for a short period.  If water is detected in the rain gauge, continue running the heater.  If water is not detected then turn off the heater and wait for an hour (a day, a week, whatever works for you).


That's a good idea. I already ordered the sensor and I want to give it a try.  If it doesn't work, I may do something like you recommended.

Go Up