Wednesday, February 15, 2023

VP3-Weather-Receiver

A Davis Vantage Vu Weather Station Receiver using an Arduino board with RFM69 Radio and Color TFT Display. 

This project is mainly a demo of a weather station receiver using a TFT LCD screen it was intended to be a low-cost replacement for a broken Davis Vu Weather station that the ISS still works (with a few issues) ...but that is another story. Hopefully someone will find this useful. I had a fun time developing it and you can still see the saga of revisions in the source code listing as it evolved over several months. Two units have been running well over 3 years without any trouble.
Complete Unit - Ser. No. 001



This is probably the most finished Arduino project I have ever done; it is close to a commercial device as it is very useful to have receivers in various rooms and the battery makes it a portable unit as well that can run for several days without the power being connected. I got the cases from Hobby Lobby (one black and one white) They almost fit like they were made for the circuit boards. I kind of like that you can see the circuit boards and wires, it reminds me of those old clocks you can see the works thru the glass.

Because it was still in development and I wanted to see the performance of the system, the bottom two frames are radio status windows showing the packets, signal strength and other information.   Also shown are the battery voltage, Intensity of the LED display in the upper right frame. 
 

Rear View
All the hardware is attached to the rear panel and the controls and jacks are available.  The Reset button is accessible through the hole next to the SMA antenna jack.  The3.5mm Power jack can also be seen. 

Operation is simple, the various settings are accessed thru the "GO" button (On right hand side) and either incremented or decremented with the "+" and "-" keys. Whatever is set, gets stored when "GO" is pressed again. The buttons are accessed by a small stylus (aka toothpick) thru the access holes. 

Complete source code and hardware information is in my GitHub repository:
VP2_TFT-Weather-Receiver 

VP2_TFT-Weather-Receiver
Close up of the TFT in action


I used a low-cost Arduino board called the Motieno,  https://lowpowerlab.com/ mainly because it had the transceiver directly built into to it as it was meant to be an IoT transceiver, as I added features it soon ran out of memory so this version can display mainly only the data received from the Davis Vantage Vu ISS. With some derived info like, max and mins, rain, and i designed a cool TFT wind compass display.  With a "soft " movement that mimics an analogue display. 

Currently, this project version does not add the internal data to make a complete TFT console replacement for display of only all of the ISS transmitted weather parameters. I had to remove indoor temp, humidity and barometric pressure to make a usable replacement. There are some limited histories showing high and lows (Temperatures, Relative humidity) and total rain since reset and rain rates values are also derived and not from the ISS.

I designed a circuit board and added some useful features such as push button setting a LiPo battery backup and charger, and a real time clock. 


Here is a look at the hardware features:

The Front side

This 3D view shows that two size TFT displays can be accommodated.  Interestingly, since they are the same resolution no real modification to the code is needed.  The touch screen does not work in this version, instead the three switches are used to modify the settings.  These switches were in fact installed on the back side of the board as the case used had a glass front and i had no real way to drill holes in that! Also, note on the top left of the board is a photo sensor.  This controls the intensity of the display's LEDs brightness.  Early in the prototyping it was too bright at night in and would potentially drain batteries as well.  This is controlled by a PWM pin from the Arduino.  





Front View (Rt. Hand Side)


From this next 3D view you can see the battery connector and charge controller. The battery is a 3.7V 1500nAh (5.6Wh) Li - Ion from an old cell phone sandwiched between the TFT display and the main board. and it has run the unit for several days without power.  Further, a Real Tim Clock chip is backed up by a small CR1220 battery to retain the time in the event the battery does discharge completely. 

UGLY First PCB Run


The first run of the circuit board was a disaster! Something happened to the board cut outs making the board mostly unusable without some serious cutting and filing. The kind folks at OSH Park agreed that there was nothing wrong with my files and ran the boards a second time free of charge!




First Run PCBs

In USE Today! 

Finally, the boards were built tested and are still in use.    Some practical issues are still there. I designed for an external antenna. This became unusable as it would tend to pick up some of the neighbor's units as well. This does not sound like much of a problem, but Davis only has 8 channels and if you have an ISS that has trouble changing its channel due to something in the unit causing no LED to be turned on makes it hard to use. The main issue is the Rain count will count up from where my ISS was and make it look like it was raining! A simple monopole antenna works just fine from several hundred fee away in fact! Secondly, speaking of rain, the info resets every time the unit gets reset. I want to modify the code to keep the values, although the units have been reset very seldom, I just jot down the yearly rain on the case and reset the unit every year. I would be nice to save the data to a SD card or send it thru the network as well but that will be another development...


Some features will need to move to the: next version that uses a Teensey 3.2 board will do all this and more! 

Notes:

The VP3 reference to the never produced color LCD console from Davis Instruments https://www.davisinstruments.com/weather-monitoring/ that all of us fans of their products wish for.