ESP8266 Weather, Final Test – Step 2.2

Wow how time flies. I can't believe a whole year has passed since the Weather Station Beta test. Well I learned many things with the Beta that needed to be addressed. I've been spending most of my time modifying the Avatar Framework  and solving the weather station hardware issues and haven't been keeping up with sharing on the Web. I'm hoping to start turning that around going forward. Before I dig into what problems I found and how I addressed them I want to talk about the current status of the Avatar ESP8266 Weather Station project.

During fall of 2016 I worked on the problems I observed until the end of the year. Starting in 2017 I began working on changes to the Avatar Framework that would allow the data being sent to identify what type of module is sending the data so that it can be filtered and interpreted correctly. I then put the weather station back outside and tested during the spring. Next I mounted the weather station in its final spot which was on a pole attached to my shed to give it stability and height for better wind speed and direction readings.

So what did I need to address after the beta test. Well for starters the humidity sensor on the SparkFun proton weather shield will fail if the opening in the humidity sensor has liquid water run inside. During the fall during a prolonged wet period with high humidity nights the sensor started returning its maximum value non-stop. On a sunny dry day the humidity was still reading around 100%. I learned that you can place a piece of plumbers Teflon tape over the opening and it will still allow water vapor in, but will block a drop of water from passing through. Additionally I added one of my usual 4030 analog humidity sensors to the shim board to give a second humidity value to help determine if a sensor is failing. The analog sensor also has an opening in the case so I added Teflon tape over its opening also. Next I wrapped the entire board in Teflon tape to help keep the elements off the circuit board and components since the bare board is simply pushed into the radiation shield which means during high humidity and windy rains the board would get some water on it. Below is an image with the tape over the humidity sensors. I forgot to take a picture of the mummified board :), where I completely wrapped the board in Teflon tape. All I did after covering the humidity sensors was to wrap the entire board using overlapping passes around the board leaving just the light sensor exposed.

Teflon Tape over Humidity Sensors

Another issue I observed was the phantom rain, that many users of the SparkFun weather sensors have reported. Check the SparkFun comments section on the weather sensor product page, it seems many experience it. Some false readings users reported have been traced to wind causing the rain gauge switch to make and break from shaking if the rain sensor is not attached to a secure base. In my case however I was seeing false rain counts even over night when winds were completely still. I even noticed the phantom rain after bringing the system back inside I saw rain count values. I figured it must be noise on the rain counting signal causing false IRQ triggers. Even with a switch debouncing algorithm there is no way to filter out phantom rain signals. The big find here was that after I added a 1uF capacitor on the shim board between the signal and ground the false rain counts have totally gone away. It's rock solid, I haven't had a phantom rain count since. I also added the 1uF cap to the wind speed since it too was probably getting pulses that were not due to switch closures.

Another modification I made was to map the Rain and Wind Speed signals through a solder jumper to a second set of shim pins that connected to the PIC micro-controller's internal counter pins. Since I'm not using a watered down Arduino AVR micro-controller I have available more hardware connection options. Watching the anemometer spinning fast one day, I thought about how the PIC is being interrupted twice every time it makes one revolution. I just thought that was such a waste of processing power when the counter can simply count the pulses and then be read once a second. Here is a picture of the final shim board. Note the two capacitor pads and two solder jumpers I added to the bottom left of the circuit board.

Shim board with new pads for Caps

I'll call it quits for this post, next time I'll be back with the installation of the weather station in its final home location, then I'll talk about software changes when I move on to the Step 3 series. Until next time, happy making.