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.

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..

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!
