1-Wire Snowfall /Snow Depth Sensor (Automated Snowboard)

Automatically measuring snowfall / snow depth with an inexpensive device
Copyright 2004-2005, Chris Nafis

Table of Contents


Living in Upstate New York, USA we get a reasonable amount of snow every year. In the fall of 2003 we put a 1-Wire Weather Station together. One of the local TV stations ( WRGB Channel 6) has put together a web interface for local weather spotters to report weather information ( WeatherNet6). In the winter this includes snowfall.

What surprised me was the inconsistency of how people / agencies measure snowfall. The local TV station uses a snow board which they clear after every inch of snow. Other people say you have to clear the board at least once a day but no more than four times a day.
Mother Nature also makes measuring snowfall interesting because of drifting, compresssion, and melting.

Here are some snow measurement references I found on the web:

I was interested in how much snow was on the ground and at what rate it was falling and melting. I thought developing a sensor that measured this continuously would be of interest. If the sensor could be made inexpensively, then the power of the Internet could be used to collect a large number of samples over large areas.

The popular weather data collections sites ( Weather Underground, Citizen Weather Observer Program) currently don't provide fields for snowfall, but this is changing. I noticed that WeatherMatrix has started a beta system for reporting snowfall.

The National Climatic Data Center U.S. Snow Monitoring web site now shows recent snowfall and snowdepth maps.


Dan Awtrey has written several articles about using 1-Wire Addressable Digital Instruments for Environmental Monitoring. The 1-Wire devices are very inexpensive and easy to interface with. Many devices can be supported on the 1-Wire bus. I decided to build a system based on them.

snow sensor layout

There are two classes of inexpensive devices available for making non-contact distance measurements.

Ultrasonic sensors have a wide beam so it is hard to focus them on a particular area. They need to be mounted perpendicular to the snow surface. The speed of sound changes with the temperature, so for accurate readings the sensor must be temperature compensated. Ultrasonic sensors have a good range and recently several low-cost ultrasonic sensors have become available.

For my first attempts I chose the Sharp GP2D12 infrared triangulation measurement sensor. It has a lower cost, smaller foot print, and has a small spot size. It is available from Acroname for less than $12. It works on the principal of triangulation. An infrared LED emits a beam of light. If an object is in range, the light is reflected back to the detector. The detector lense focuses the reflected light onto a linear CCD array. The location that the reflected lights hits the detector is dependent on the distance of the object from the sensor.

Sharp GP2D12 Proximity Sensor Sharp GP2D12 Triangulation

The GP2D12 outputs a non-linear analog voltage corresponding to the distance of the reflective object. The Sharp specification chart below shows the relationship. The sensor can measure in the range from 10-80 cm. The voltage is approximately 2.4V at 10cm and at 0.52 at 60cm. The sensor draws about 34mA. The maximum is stated to be 50mA.

voltage / distance chart


sensor head sensor head sensor head

I've done several experiments. In my first attempt I used a DS2450 1-Wire Quad A/D converter. I thought I could drive multiple proximity sensors with the single DS2450. A second prototype , built with a DS2438 had a light sensor and thermometer to compensate the Sharp sensor for the sun and temperature. From the specification sheets I originally didn't think the DS2438 AD converter would be accurate with the low voltages. But in tests it did fine. The current prototype is built on a PCB. The photodiode now faces the same direction as the Sharp sensor in order to detect sensor saturation.


circuit diagram

PCB and Components

expressPCB has free layout software and will make you three 2-sided 2.5" x 3.8" printed circuit boards for $51. I thought I'd give it a try.

ExpressPCB board ExpressPCB board Sensor parts

Power Supply Components

Sensor Stand Components

The sharp sensor draws too much power to use a parasitic approach. AAG a maker of several 1-Wire weather sensors and other devices has two products that work nicely.

Sensor Stand Components

Sensor Stand Components sensor head

The following are available from Home Depot or your local hardware store:

Calibration and Accuracy

Measurement Spot Size

spot size

Using an inexpensive web camera that doesn't have an IR filter, you can see the beam size and location. In the following images, the sensor beam was aimed straight down (34 CM from sensor face). The spot size has an approximate diameter of 1 CM.


voltage histogram

Data was taken for an hour (1041 samples) to see the sensor voltage distribution. The mean voltage supply was 4.98 VDC. The mean range voltage was 0.799 VDC with a 0.01 VDC standard deviation. The minimum voltage was 0.77 VDC and the maximum was 0.86 VDC. The mean sensor temperature was 78F. The mean light sensor reading was 0.3 mV.

One hundred feet of wire was added between the power supply and the sensor. Another hour of data was collected. The mean voltage supply dropped to 4.786 VDC. The mean range voltage dropped to 0.787 VDC with a 0.01 VDC standard deviation. The minimum voltage was 0.76 VDC and the maximum was 0.81 VDC

Effect of Sun Light

Sun effect on Range Voltage

Bright sunlight can interfere with the Sharp sensor. The range sensor voltage and it's deviation increase when the photodiode reports > 50+ mV. Since it usually doesn't snow when the sun is out, one approach is not to make measurements in bright sunlight. If you want to watch the snow melt and compact in the sun light, the data can be corrected using a cubic polynomal and a moving average. Accuracy in the lower light range can be improved by using interpolation.

Calibration of Sensor Voltage to Inches

To calibrate the sensor, measurements are taken at different heights and the voltages recorded. A Cubic is fit to the data and the four parameters, the calibration temperature and the calibration source voltage are stored in the DS2438's 32-byte nonvolatile memory (pages 3-6). Storing the calibration data in the sensor makes the snowfall sensors easily field replacable.

Effect of Temperature

It appears that the sensor calibration is affected by temperature. It is best to calibrate the unit at around 32F. This graph shows the difference between a calibration at 77F and 28F.


There are 1-wire Tools for Software Developers available from Maxim / Dallas Semiconductor. There are also many 1-wire weather applications available.

A C program based on the 1-Wire SDK Version 4.00 Beta was written to read the DS2438 Vdd, Vac, temperature, and rsense voltage. Multiple samples are averaged and then used in the polynomial to calculate the snow height. Data is logged to a file with the name created from the DS2438 ROM ID and current date.

Current Status

V3 prototype sensors

Six versions of the latest V3 prototype have been built and are calibrated. They are now collecting data:

Other Resources

Here are some other snowfall measurement related websites:



This project is for experimental use only. The user assumes all responsibilities for assembly, installation, and use. This circuit is provided without warranty and the author makes no claim that this device will work in any particular application. Do not use in applications where failure or incorrect operation could jeopardize someone's safety. This schematic is provided for noncommercial use only.

1-WireŽ is a registered trademark of Dallas Semiconductor