Let me make this clear, the 'Beginner' mentioned in this post isn't you, it's me! This weather beginner has built a prototype weather station and in the 2 months it has been up, I've learned a lot. I have learned that some of my ideas weren't so crazy and I learned that some of the things I took for granted were way off base.
So, call this a beta, a prototype version or whatever you like, just don't call it finished. Here I present to you my lessons learned on the way to stable state.
Why?
Yes, I could have purchased a good commercial weather station that would have measured all of the data point goals listed below. However, the data is only one reason I am pursuing this project. I learn best by doing. Since I don't have a background in weather science, I really had no idea where to begin and frankly, that's the best place to start. It makes you pay attention. For example, rather than just listening to the weather channel waiting for the punchline (will it rain this afternoon), I now have a better understanding when they start talking about high and low pressure areas and what millibars are. Learning this way makes you more aware, making the world both smaller and larger at the same time.
Another reason to build over buy is that I get access to the raw data and I can control what to do with it. I have future plans for some of this data in my home automation projects. I want to learn about learning systems like the Nest thermostat and am interested in improving efficiencies generally with my home. Having a baseline set of minute to minute historical data is required to know if your endeavors are making a difference.
Lastly, I am learning about data management, visualization and optimization and a weather station can produce loads of real world data.
Overview
For this first iteration, I chose a set of instruments based not only on what data I directly needed to measured (ie. temperature) but also calculated data such as "Feels Like." This required the following items:
- Thermometer
- Hygrometer
- Barometer
- Anemometer
- Wind Vane
- Rain Gauge (inches over time)
- Rain Sensor (Is it raining now)
- Lightning Detector
This would get the following direct measured and calculated values:
- Temperature
- Humidity
- Barometric Pressure
- Heat Index (calculated)
- Wind Chill (calculated)
- Wind Speed / Direction
- Rainfall Likelihood (Calculated chance of Rain)
- Rainfall (inches)
- Rainfall (Is it raining)
- Rainfall (Intensity in realtime - light, moderate, heavy)
- Lightning (counts per minute)
A parts list of my initial sensors, controller and enclosures is below.
Design
I wanted something that I could directly get data measurements from and use as I liked. I looked at the Davis Instruments ready-to-use systems and tried to come up with something similar in specification. I knew that I would need a processor to poll the instruments and communicate with the local database I have on my home server. I also wanted to ensure that I didn't drop data so I made the unit powered over ethernet and ran buried cable to the station from my office.
In the end I was on a budget, and since I fully expected to ruin at least a few of the instruments during development and testing, I didn't want to spend a lot of money on individual pieces.
It is true that sometimes though, you get what you pay for. For example, the rain gauge was part of a set from SparkFun and generally received good reviews. And I will say that the anemometer and wind vane included were really accurate and easy to use. The rain gauge, on the other hand, is VERY inaccurate. How do I know? I calibrated against a highly accurate barrel type rain gauge I purchased from the CoCoRaHS Project.
The punchline: my tipping bucket rain gauge was off from the manual 4" gauge by as much as 40% - depending on rain intensity. (More on this below)
Parts List and Sources
- Arduino Mega 2560
- DHT22 Temp and Humidity Sensor (https://www.adafruit.com/search?q=dht22)
- BMP180 Barometric Pressure/Temperature/Altitude Sensor (https://www.adafruit.com/product/1603)
- SEN-08942 Rain Gauge / Anemometer / Wind Vane (https://www.sparkfun.com/products/8942)
- RG-11 Rain Sensor (http://store.hydreon.com/shop/rain-sensor/RG-11.html)
- MOD-1016 Lightning Sensor (http://www.embeddedadventures.com/as3935_lightning_sensor_module_mod-1016.html)
Things I learned the hard way
After two months of continuous operation, I have learned some things along the way that will greatly influence the next upgrade of this station which is underway now. Additionally, I've made some changes to my home automation goals because of this project. More on that in future posts but for now, here are some things I learned the hard way.
Rain Gauge Design
One might expect that commercial back yard weather stations would be reasonably accurate and designed to be so but I've learned that this isn't the case. For example, wind measurement needs to happen about 10 feet above the ground while rain measurement needs to happen about 2 feet off the ground. The reason is accuracy. Measuring each at those respective heights has the highest likelihood of an average mean measurement that is true. It isn't just a little off too, measuring rain at 10 feet can reduce accuracy as much as 10% and measuring wind speed below 10' can reduce accuracy by far more. So, the next time you see one of those all in one weather stations just know that you likely won't get accurate rainfall if it is place by the directions.
I believe I can improve accuracy by extend the splash lip on the top of the gauge funnel by having one of my MTRAS friends 3D print an extension. I will post about this after I get some data from the next round of tests.
Barometer Placement
I bought a very good solar radiation shield for my thermometer/hygrometer. I needed a way for that device to take direct samples of the air but needed it shielded from the sun and rain. I knew that my barometric pressure sensor also needed to sample the air so I put it in the shield as well. That worked for about a month and a half.
Sensors like the one I have has a small hole in it so that the sensor can sample the air pressure. It's a pretty small hole. I figured it would be ok to allow it to be exposed to the air.
No. I was wrong. Two things occurred: 1) moisture was able to get into the device 2) a wayward ant found its way into that hole and became stuck in the hole at first preventing proper readings and also prevented the moisture in the sensor from equalizing when the weather got cooler and caused it to corrode.
So, I have a new design for an enclosure for the barometer which I will detail in a follow-up post after it has been tested for a few months.
Lightning Detectors Are Very Sensitive!
I placed the lightning detector board inside the main enclosure with the MCP and the other electronics. While it wasn't on the same board as the rest of the electronics, it was laying on the bottom of the enclosure. I should know better but I didn't anticipate all of the noise it picked up. I did a bit of analysis to discover that it was picking up the "clicks" from the anemometer. It too needs to be in it's own enclosure.
Resources
I did and am still studying quite a bit about weather measurment. Below, is a list of resources I used along the way. This list will continue to grow and change as I find useful, easy to follow resources.
- Book: Science 101 by Trudy E. Bell
- PDF: http://www.stormchasercenter.net/pdf/weatherstationsetup-101.pdf
- Link: http://www.wral.com/weather/blogpost/1283652/
- Link: https://en.wikipedia.org/wiki/Rain
- Link: https://en.wikipedia.org/wiki/Atmospheric_pressure