Software Defined Radio Reading of a Personal Weather Station

I am very lucky to be involved in the Sage Cyberinfrastructure project where I am kind of acting as “Chief Science Evangelist”. Basically I help motivate the hardware and software engineering with real world science use cases. Discussions with friends like Profs.

Pi4 with the RTL-SDR reading 915MHz data. Pi3 syncing via scp and displaying on UnicornHat-HD

Eric Brunning and Tim Logan have led me to Lightning detection as an interesting problem and several folks in the team are big fans of Software Defined Radios. So I purchased one (and then three more!) and started playing. Several months ago I purchased ($169) an Ambient W2902B personal weather station. It sends signals to a base station via PCM @ 915MHz. The base station then sends data to ambient you can download via an API. Issue is you can only download 1 minute data and the head unit transmits every 16s. I was ok with that for the price. Well, enter the software defined radio! I knew the RTL-SDR 2832U unit I have can tune into 915MHz.. And looking on gqrx I cold see the pulses so I thought I could write some code to decode the data..

Output from rtl_433. Note my Ambient 2903B tags itself as BOTH fineoffset-WH24 and 65B

Well cool thing is I did not have to! As I always say to my students: Google that! I did and found this excellent blog. It was as simple as a apt-get rtl-433 or, on the Raspberry Pi4 compiling from source and you have a pulse code decoder that can read everything from a weather station to a tire pressure gauge in your car. I then simply set it to run with a nohup on my Raspberry Pi4 and save JSONs to a file. I wrote some simple code in Python using ACT (a module that builds on xarray) to visualize.. You can see so much more in the 16s data! Like the turbulence reflected in dewpoint and temperature data when the boundary layer builds. Now I want to include a Software Defined Radio in every Sage node so we can connect instruments wirelessly using the 915 and 433MHz standards. More on lightning detection later!

Bingo! My own weather data saved and plotted without using a 3rd party API.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s