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.




Sunday, January 5, 2014

It is Venus Weather!


When the weather permits, every winter we can perform an astronomical observation that almost seems impossible.  If you know where to look, it is possible to observe the planet Venus with your naked eyes in full daylight!  You will need to know a few things to accomplish this feat...
Venus Anadyomene - Theodore Chasseriau
...and she'll probably need a jacket.

These cool clear winter days, as well as the astronomical position of the planets Venus and Earth will now allow us to see Venus in daylight. The bright “star” in the west just after sunset is the planet Venus.  If you have a small telescope or good pair of binoculars you can see that this “star” is a little crescent.  Even though the whole disk is not illuminated this planet is extremely bright due to the planets orbit bringing it closest to the Earth.

 
This is a Diagram of Where the Planets are...



This image I found on the Universtoday.com site illustrates this nicely.

 

 We have accomplished this easily several time in the last few clear weekends.  There are a couple of things you need to know to perform this feat. 

First, the planet is in close proximity to the sun in the sky.  You need to be real careful not to look at the sun, especially with binoculars or a telescope.  THIS WILL PERMANENTLY DAMAGE YOUR EYES! 

To avoid this stand in the shadow of a building or other structure looking south so the sun is hidden to your right-hand side (this also protects you as the sun moves across the sky to the west towards sunset - it will not emerge from behind the structure and keeps it out of site)

Sun is behind the roof line to the right

BTW - This picture is actually of the Comet McNaught I spotted in 2007 using this technique... If you can see it in this image please let me know I never found it but definitely saw it!

Secondly, You will need a clear blue sky!  Finally, you will need to approximately how far behind the sun is it?   There are some smartphone apps that will help...
Free from Android Store

 

With this tool, you simply start the app and aim your phone to the sky until the planet Venus lines up and the now shaded sun line up. 


Google Sky in Action 


Now you are ready to spot it. The best way to start is to use a pair of binoculars to locate it by systematically scanning the sky. If you are using binoculars focus them on a distant object, a jet contrail or if the moon is visible work great.  

Once you spot it, take note of the angle and move the binoculars to the horizon, and note a land mark straight below where the point you spotted it.  This also helps show someone else where to look!
Venus in Daylight ca.11:32AM PST 12/22/13 - (West is left)


Also, can you see the crescent shape?  No this is not the Moon.  If you rotate the view 180 degrees it is the same crescent you see in the first diagram's "Evening Sky" side of the diagram. All you'll need are a good pair of binoculars and a steady hand or a telescope on a tripod or other steady surface to see the tiny crescent.  

Now that you know where it is, try with your eyes only! 
So to see it without an optical aid,  there is a visual skill that you will need to learn.  Looking into a clear blue sky you will need to train your eyes to look into infinity!  The contrail or other object in the sky will help you train your eyes as you did the binocular focus, only the eye will try to focus and won't stick at any focal length like the binoculars do.  But the trick is not to look at anything close to change the eye's focus, we have used a paper tube to help focus attention to a small area of sky .  If there is a well-placed contrail or bird happens to fly by it will help train your eyes as well.   Once you train your eyes to focus at infinity, and find it once, you can’t help but see it. It looks like a little star up in the blue daytime sky. 

Hint: You may need to take off your sunglasses as you will need all the light gathering power your eyes have.

We have not been able to photograph it with a digital camera alone.  If you ever tried to photograph the moon without a telephoto, you know it will only show up as a dot so the chance of getting a star in blues sky is next to impossible, without at least some magnification.  The optical telephoto is pretty weak in my camera, and the digital zoom is useless for this, even when we could see it in the viewfinder, we never found a setting for the exposure. 

But, as you can see, but we were able to successfully take a few pictures through a small telescope simply shooting it through the eyepiece!  I used my little Celestron First Scope  (less the solar filter) to photograph these.   There is a lot of trial and error to get the autofocus to focus the telescope's image not the eyepiece, and the optical axis has a dark spot dead center that is due to the secondary mirror of this scope. Finding it with this much magnification that takes some doing as you only get to look at a small area of sky at a time.  Also, these images are "mirror images" due to the telescope's optics.
 
Here are some more Eyepiece Views, the large blue circle and spots are artifacts from the telescope.  It is not easy to line up the camera and the eyepiece, but it can be made to work.
 
 
 


Pretty cool huh?

 UPDATE: 1/6/2014. The crescent of Venus is, greatly elongated but is less than 10 Degrees from the Sun now, be extremely careful...or wait for it to appear once again in the morning sky!

 

 

 

Thursday, March 14, 2013

Wx Redux - The Vantage Vue Seeing Double?



Now my weather watching is expanding to multiple sites!  I was asked to recommend a reliable weather station for a bird (and hoot owl) sanctuary near by.  I had installed two stations for her there in the past few years.  First was a Dallas (AAG) 1-wire station. 
 
 


It was a wired station and I had the same one at my ranch. But maintaining these little guys was an issue. The bearings would fail after a few months.


 

 

Followed by a Lacrosse: 

 

 

…which lasted a couple years.  BTW this is the same rain sensor that the $99 station uses, it will be easy  to convert that one to a spare for my WW2

 






Seeing Double

I've had good luck with my  Wizard II so let's try the Davis... Vantage Vue


 



I got a couple one for the ranch, and one for the birds!

 

Hopefully everything will last a few years.  There were only two issues setting these up.
The ISS#2 ...I like this new packaging no Styrofoam!

 

First Problem…

It was a very minor issue but one of the Anemometers wind  cups would not attach to the station… I suspect the set screw was put in slightly askew and someone either returned it without telling anyone.  I would have simply suspected operator error but I just finished building the first one with no issue.  I called the support folks at Davis and they were most helpful and sent us a new set!  Very cool.
The vane and the wind cup

 

Second Problem…

We got a call from the bird lady shortly after we installed it for her. Saying there is no rain or wind and the console kept saying: ”low Battery on Transmitter”  I had run both stations side by side at the ranch for over a week and never saw an issue, now they were acting differently 10 miles away from each other. ( I had one set for CH#1 and the other set for CH#2)  I dropped by to see if there really was a battery issue, may be a charger issue as there was a rain event shortly after I installed it. Nope, battery measured to be good.  So I swapped her with mine and the problem re-appeared! This time with my good ISS.  After a few minutes I hit on the solution to the problem… I had her setup configured for to the default channel #1.  After changing hers to CH#2 as well the problem went away.  There must be enough local interference on that set of channels at that location that caused enough data packets to drop out.

Console #1 in Operation


Apparently
Davis does not send the ISS battery or charge state.  This would be really good and we could track the sun rise and sets through the solar cells as well as the charge times, instead they count lost packets and declare the transmitter’s battery is bad…

Moral of This Story? 
If we had only got one station we would have assumed the station was bad (…or the design was not working too well, and I would, of course, be thinking "what a @#!& piece of crap!)   The whole thing may have gone back to Amazon had I only had a sample set of one.  I don't really want to maintain two weather stations, only wanted to do installations thank you.
 

Other Than Those Issues...

One feature I got to test because I had two consoles on hand was to transmit the weather data from one console to another.  It worked pretty well. I did not see a real use for me as the ISS reaches the whole house from a pole on my deck about 80ft away from the house! The diagnostic screens are very helpful, I found the second screen to be the most use as it shows the radio data.  



I was never really a fan of this type of sensor ~ but it does install quickly
 
In Summary
 
This seems like a pretty good system.  It has it quarks but that seems to be part of the charm of Davis.  ( like the "no leap year" bug in the Wizard II) We had a rare rain event of several inches and was able to compare my home made rain gauge davis-wizzard-iii-rain.html  to this one.  At first I thought that my WWII was way off.  When I checked the Vue in the morning it read way less than my old unit's.  It was not until I scrolled to "Storm" total they matched to one tip of the bucket.  (only 0.01" difference: 1.82" to 1.83") This was a great verification of that older post.

The strange thing is the battery voltage is the voltage of the console battery,  Which are a pretty hefty string of three "C" cells,  I would like to see the charging and state of the thing that is up on a 20ft pole.   The manual says it should last a couple years but I used the supplied power adapter as well. 

 Now I am thinking APRS... that expansion connector is right there...with all the data ready to jump out.  Although I saw DK had a post in his blog that said Davis had changed the interface format to detect if a proper interface card  thing is being used.  I will need to investigate if it is the same on this version. http://www.wxforum.net/index.php?topic=17198.0  Yeah, that's part of the problem of sharing this kind of information, the owners of these products see more immediate revenue, and corporate types want every penny.  Still, it think it a little short-sited of them not to let the public domain have a go at second sourcing accessories. They are set up perfectly to support us as they sell all the bits and parts as well. 
 
 
~ ~ ~


Monday, January 7, 2013

Wizzard III ~ Updates?



CLUE?

Over the past few months I have put this on hold, mostly.  Recently I was cleaning up some files and  I did get a chance to look at the captures I did way back and may have come to one more clue: Nybbles!


Looking at these old plots I did from the handheld scope it looks like these packets are sent as 4-bit nybbles which I think is why I could never see any command leaving the console I was using the logic analyzer to trigger on the various commands.  The other reason is the bits may be sent in REVERSE order which would make the commands harder to see.

I may dust off the Bit  Pirate again and see if I can see any likely Nybbles coming out of the console. I am still pretty sure the hardware protocol is I2C-like with one clock and one Data Pin.  If I can see what the console is trying to send the data logger I may be able to correlate to a commands


 
 

BTW this SUMP analyzer is a JAVA app...it took a bit of fiddling to get it to work but it is fairly functional.

ALSO...

It seems I have been tasked to build a weather station for APRS for application in a remote desert storage container in Ocotillo Wells, California in the Anza Borrego Desert that we can place a Weather Station.  I am not clear if we will use a Vantage Station or a Wizard III.  If I can convince them to get an old Wizard and data logger I may be able to snoop the connection with it as well. Since I have the ASCII/serial version built for a PIC16F88 Microprocessor ( but not tested ) for either it will be on the air soon...But I would sure like to send the data directly from the console w/o the logger!



Saturday, March 17, 2012

Davis Weather Wizard - Hacking the Serial Port - V


Missed by Twenty-five thousandths? Well at least I gave the last 0.025% to other than I2C. Let's just say the Weather link is very...well.."I2C-like"

Device(Read)(Write)BP I2C read TIME @ 0xBE command:   TXT: 
10x03(0x01 R)0x02?(0x01)?[0x020xBE[0x03r:3[0x02 0xBE [0x03 r:3 
20x05(0x02 R)0x04(0x02 W)[0x040xBE[0x05r:3[0x04 0xBE [0x05 r:3 
30x07(0x03 R)0x06(0x03 W)[0x060xBE[0x07r:3[0x06 0xBE [0x07 r:3 
40x09(0x04 R)0x08(0x04 W)[0x080xBE[0x09r:3[0x08 0xBE [0x09 r:3 
50x0B(0x05 R)0x0A(0x05 W)[0x0A0xBE[0x0Br:3[0x0A 0xBE [0x0B r:3 
60x0D(0x06 R)0x0C(0x06 W)[0x0C0xBE[0x0Dr:3[0x0C 0xBE [0x0D r:3 
...
70x0F(0x07 R)0x0E(0x07 W)[0x0E0xBE[0x0Fr:3[0x0E 0xBE [0x0F r:3 
80x11(0x08 R)0x10(0x08 W)[0x100xBE[0x11r:3[0x10 0xBE [0x11 r:3 
1260xFD(0x7E R)0xFC(0x7E W)[0xFC0xBE[0xFDr:3[0xFC 0xBE [0xFD r:3 
1270xFF(0x7F R)0xFE(0x7F W)[0xFE0xBE[0xFFr:3[0xFE 0xBE [0xFF r:3 

There were a few things that bothered me about that address search. First, the fact there are 127 device addresses. This did not seem like a normal I2C device. Second, the first device does not even have a Write location. Other than those issues the outputs seemed normal so the plan was to drop the text generated commands (one by one) into the BP's serial port and examine the outputs for the one that had the same BCD values as the Wizard's display. ...Simple?

[0x02 0xBE [0x03 r:3
[0x04 0xBE [0x05 r:3
[0x06 0xBE [0x07 r:3
[0x08 0xBE [0x09 r:3
[0x0A 0xBE [0x0B r:3
[0x0C 0xBE [0x0D r:3
[0x0E 0xBE [0x0F r:3
...
[0xF4 0xBE [0xF5 r:3
[0xF6 0xBE [0xF7 r:3
[0xF8 0xBE [0xF9 r:3
[0xFA 0xBE [0xFB r:3
[0xFC 0xBE [0xFD r:3
[0xFE 0xBE [0xFF r:3

Well, there was one catch to this plan. I alluded to it on the last post. The bus gets hung up after every start command issued!

I2C>[0x03 0x04 [0x03 0xBE r:3]
I2C START BIT
WRITE: 0x03 ACK
WRITE: 0x04 ACK
Warning: *Short or no pull-up
I2C START BIT
WRITE: 0x03 ACK
WRITE: 0xBE ACK
READ: 0x00 ACK 0x00 ACK 0x00
NACK
I2C STOP BIT

So this was a typical output when I ran those commands trough. I could not yet find a reliable way to clear the error by toggling the power and pull ups either. The only way to clear the error for sure is to power cycle the Wizard.

Although while using the commands I did find a particularly interesting combination of toggling the lines would, in fact cause the console to beep!

I2C STOP BIT
I2C>[
Warning: *Short or no pull-up
I2C START BIT
I2C>P
Pull-up resistors ON
Warning: no voltage on Vpullup pin
I2C>W
Power supplies ON
I2C>pP
Pull-up resistors OFF
Pull-up resistors ON
Warning: no voltage on Vpullup pin


So, where does this leave us? Well besides the obvious, we did not gain control of the unit through I2C, I think I will cut my losses and let this project go! Yeah, I am admitting defeat! I think that since this is most likely a proprietary implementation of a 2-wire interface, that unless I set up a snoop with a logic analyzer between an actual Weather Link Data Logger and the Wizard to find the actual outputs and inputs with a known command sequence. I think that would be the only way, and that investment is not what I want to do at this time, hey my time is valuable and once more than a few idle hours get invested, it becomes, well, WORK! I get paid to engineer stuff for companies, and I think that when it gets to that point... I will just buy the damned software, throw out the disk, hook up the LOGGER and be done with it.

I will shelve this hack for now, unless I come up with another inspiring idea...it would be really cool to figure this out...But, if one of you, my dear readers, wants to part with their LOGGER! *hint*

~ ~ ~
SK