Davis Vantage Pro 2 Open Weather Station – Part 2: Moar Sensors

As I was writing up last night’s post, a few things slipped my mind. Namely, the number of sensors I have on my VP2. When I bought it, I wanted the best of the best. And so, I sprung for the VP2 “Plus” which included Solar Radiation (SRad), UV, as well as a Fan Aspirated Radiation Shield (FARS). Something I also did not mention was I have a standard VP2 at my house, which will make prototyping significantly easier. However I am missing those sensors at home. Also, a few years back, I added Soil Temp and Moisture at 4 depths as well as a “Leaf wetness sensor. So that’s 8 total sensors just for soil! These sensors use their own transmitter, and funny enough, i’ve never had issues with it. So with that, here is the list of sensors I will need to accommodate for in my design:

  • SHT31 Temperature/Humidity
  • Wind Direction/Speed
  • Tipping bucket rain gauge
  • Solar Radiation
  • UV
  • 4x Soil Moisture
  • 4x Soil Temp
  • Leaf Wetness
  • Pressure (not provided in Davis unit. Will need external sensor. Probably BMP something or other)

Let’s take a look specifically at the Soil Moisture and Temp sensors.

Per the guide located here the temp sensor is a standard resistance based temp sensor. From my initial reading, it sounds like that’s a bit more of a challenge to get working with a Pi directly. So that’ll be fun to learn!

Time for your probing.

Now the soil moisture is very similar, in that it uses resistance to determine soil moisture. It appears to be a “Watermark sensor from Irrometer” again this is a two wire setup, so it may not work directly with the Pi and i’ll need to figure that out.

4 of these bad bois are buried under my station.

Finally the leaf wetness sensor. There’s also not a ton of documentation around this and using it with a Pi. So i’ll need to do some additional research and understand how they work.

So that’s the soil/temp/leaf. Seems like it’s gonna be a tad more complicated than the standard sensors. Also seems like i’ll need to pick up a couple just to play with and prototype with.

Here comes the sun

Now for the other two sensors. UV and Solar Radiation. As I suspected, the UV sensor apparently uses a photodiode that only responds to radiation in the region of interest. Based on the spec sheet it appears to simply send voltage back. From 150 per UV Index, up to 2.5 VDC. So that shouldn’t be too hard to measure.

UV Sensor in all it’s glory.

So now solar radiation. It also is used to calculate evapotranspiration (one of my favorite words in meteorology) and again based on the spec sheet it acts in the same way as the UV sensor, sending voltage with 1.67mV per W/m2 (Watts per meter squared).

So really it seems like the UV/Solar sensors are gonna be pretty straightforward. They already do the easy stuff in the sensor itself, I just gotta measure the voltage coming back from the sensor.

So it seems i’ll need to start exploring Analog to Digital conversions to use all this stuff with the raspberry Pi. Truthfully my experience thus far with the RPi has never really utilized the GPIO connectors. Although I did build a light sensor that controls a monitor using a photoresistor and a capacitor. So I have some vague understanding, but this is on a whole other level.

The live weather display I built. There is a light sensor behind the screen that activates when the lights come on to “unsleep” the monitor, then sleep it when the lights turn off. It’s been working great for over 4 years!

So looks like i have a few more things to think about with prototyping! Gonna order some Analog to Digital converters (Should only need one but but I better get more in case i mess one up which i probably will) and start understanding how analog to SPI works. I was worried about having enough pins on the GPIO, but at this point given the ADC will take a bunch of analog inputs and put them on a single SPI, I should be OK.

Davis Vantage Pro 2 Open Weather Station – Part 1

What am I on about? What does the title mean. Well it goes a bit like this. Ever since 2013 I have operated a Davis Vantage Pro 2 weather station in my hometown in Kansas. When I was living in Oklahoma, the station was about 300 miles away, however now i’m closer, at about 70 miles. This certainly has not made administration of this station any easier. Since I’ve installed it, i’ve faced various problems, one of those i’m attempting to solve with this project.

First off let’s talk about the current setup. I’ve been very fortunate that the station is located at an educational facility, that provides me full access to the internet as well as power. So with this, I placed the station in a suitable location, approximately 100 ft from the building in an open field.

Station During install. Note the ISS not in it’s final position.

This is a wireless station, so what about the receiver. Currently it’s using a Wireless Envoy, however it started out using the VP2 console, which is enclosed in an outdoor housing from Davis:

VP2 console in the official Davis outdoor enclosure. Note it has been replaced with an Envoy at this time.

So we have the station sending and receiving data. Now what? This is where things have changed a lot. I’ve been through multiple iterations of this station. Let’s see if I can remember everything i’ve done in the correct order:

1: Started with the Vantage Pro 2 install in 2013. Used the Davis software on a Windows XP machine. Data was sent via FTP to a web server hosted in a colo facility. Do not recommend this approach, as the XP machine was hilariously unreliable and the software just not good.

2: Raspberry Pi. I came to my senses and installed a different software on a Raspberry Pi. I went with WView as it was quite popular at the time amongst users.

3: Raspberry Pi 4 with WeeWX. WView severely limited my ability to customize the setup. I don’t know C and I don’t want to re-compile after every single change. Couple that with the fact that WView is no longer in development, a change was needed. I also got word my Colo facility was shutting down my server (I was getting it for free from a friend anyway) so I needed to move to AWS fast. WeeWX had the ability to do this and the performance uploading to AWS on the original Pi was abysmal. Upgrading to a Pi4 was the right option. Which is how things are setup now.

This post and the blog really is going to focus on the hardware/station side of things. I’ll be writing a separate blog post for work on how i’m moving forward with AWS IoT for this station. So finally what am I doing? Well i’ve had some problems with the station that include:

  • Power outages at the facility, knocking the Pi off power.
  • Internet outages. This is in a rural area and we don’t have the luxury of fiber like I have at my home. We have a 35mbps connection delivered by Point to point wireless. It works OK but has outages. This prevents the data from being uploaded to AWS.
  • Signal issues. I’ve been fighting this for months now, and even over a year. I get random drops where the station just falls off the map. Sometimes for days on end, then comes back online like nothing happened. I’ve changed channels, i’ve replaced boards, i’ve replaced receivers (hence why i have an Envoy now vs a console) and it’s still happening. Sometime’s it’s solid for WEEKS and sometimes it won’t go two days without dropping.
This is a Zabbix graph I created which show the RX (which is really percentage of good packets) from the station.

So what are the solutions to these problems?

  • Power: Get a UPS you dingus! Well yes this is a fair point, we would need to put the entire internet setup on a UPS as well, and then we are not guaranteed a long runtime unless we invest in a large capacity unit, which is not a high priority.
  • Internet: Run off LTE! It’s definitely something i’ve considered. But again, i’d need to also think about power as well, since without power, the LTE is no good. Couple this with being in a metal building, LTE would also require external antenna. It’s definitely the lowest priority issue.
  • Signal: This is the issue i’m solving. First thing I considered was getting a cabled station. You can convert the ISS to a cabled board, but the investment is significant. As well as digging a trench, running the cable, etc. It’s a lot of work. So that’s out. So I started thinking do I really need the Davis stuff? Which has led to this project.

Enter the smol computers

When you take it all apart, the VP2 is not really anything special. The sensors are actually fairly straight forward. I came across this post (http://cactus.io/hookups/weather/anemometer/davis/hookup-arduino-to-davis-anemometer) which goes into details about the wind at least. Turns out the vane is just a potentiometer and the anemometer just a switch. Most likely a reed switch similar to the rain gauge. So as far as the sensors are concerned, they have no idea they are in a weather station. The rain gauge also operates using a simple Reed switch.

The temperature/humidity board is an SHT31 just in a different package. This does not include a pressure sensor, which they annoyingly placed inside the console or Envoy unit.

So with all that being said, what does Davis do? Well they take this raw sensor data, they package it up on the ISS board, and then send it via wireless or wired in their own way. Now others have cracked the code and built their own receivers for these stations. But i’m looking to remove the Davis from the Davis entirely and remove the entire wireless setup.

So if i’m looking to remove wireless, what about the power and the internet from the educational institution? Don’t you need that still? I’m thinking I don’t, and i’m thinking the Raspberry Pi is the solution. By interfacing the sensors directly with the Pi, I would be able to take the raw data from the sensors, and upload that to the cloud. With recent upgrades, i’m expecting wifi range at the station, and also have been provided with a Cradlepoint unit from a colleague that I will be utilizing for LTE backup. Power will be provided via a Lead acid battery, charged via a large solar panel. Having the Pi at the station will also allow me to add additional functionality, including a camera.

So what is the goal? What is the point of this rambling? By the end of this project, I hope to have a PCB that I can attach to a Pi (or Pi Zero) and be able to ingest sensor data from a VP2 and have it be more reliable than the current setup. Obviously there are lots of factors to consider, things such as:

  • Weatherproofing. Can’t have a Pi in the rain. Looking at using knock-off Pelican “Apache” cases from Harbor Freight as a good option, which leads to the next concern…
  • Temperature: It gets hot and cold in KS. So the entire setup needs to be able to withstand high and low temps, as well as humidity.
  • Reliability: Ulimately the Pi is a small Linux computer. Computers aren’t always our friends. So I need to make sure the setup is as low-touch as possible and I can’t be messing with it every day. Given the amount of custom work i’ll be doing, this is definitely a major concern.

So stay tuned! This is just the first of hopefully many posts as I begin prototyping, and hopefully much shorter, less rambly posts going forward.