I decided that I had a perfect way of seeing what the weather was like around my area on my own (kind of). FM broadcast stations have fixed antennas and happen to be transmitting at known frequencies and known powers. I figured, if I could just find out what the fixed powers were as compared to the received powers that I was getting, I could figure out what the loss fraction was as compared to a clear day, and get an idea of how much the moisture in the air was attenuating the signal. But how to get a good idea of what this power difference is? Enter the Sparkfun WRL-10663 FM Tuner Breakout Board. This, when combined with an Arduino, would allow me to read the Received Signal Strength Indicator (RSSI) in dB re 1 µV. I set up an Excel spreadsheet that would allow me to identify stations by frequency (thanks to data from Radio-Locator and the FCC), and then fed the output from my Arduino into it. Both the Arduino code and the Excel spreadsheet are available on the repository.

I then put the graphable data (in the sheet called "Graph Fodder") into a Fusion Table in Google Docs, which allowed me to plot losses in the form of colored dots on a map, as seen here from this morning's data collection. I collect data using a session file from ZTerm on my Mac, but HyperTerminal on Windows, the Arduino serial terminal, and grabserial on Linux all work as well. The output will be a .csv file, even if the file extension doesn't say so.

If you want to try this at home, remember that, unless you live in Ithaca, NY, you'll have to create your own table of stations, powers, altitudes, and locations. It's not that hard, and I'd recommend the above-mentioned Radio-Locator for it. The other thing you'll have to do is change your home latitude and longitude in the distance column on the calculator sheet in the Excel file.

First person to write a Python script to take the raw input from the serial port and generate a map gets a beer!