About a month ago, I got a call from my friend saying he needed help with a project that dealt with an SDR. Like any sane person I said, "Hell yeah, gimme 10 minutes and i'm there, homie." I show up to his apartment and he pulls out an RTL-SDR attached to a wifi dish with a few extra gizmos attached, then takes me to the top of a parking garage. He explains that he saw this cool project of pulling weather images from the GOES 16 satellite and was having trouble isolating the signal in GQRX (open source SDR application). We did our trouble shooting, skipped GQRX, and got the setup up and running. I thought it was sick, so I decided to also create the set up to see what we could do with not one, but TWO wifi dishes and a few satellites. This article is my version of the setup. This project would not have been possible without the help of said friend (you know who you are ;)).
First, let's dive into our target. The GOES 16 satellite is a geostationary weather satellite operated by NASA and the NOAA. It became operational in December of 2017, relieving the GOES 13 satellite of operation for imaging the Western Hemisphere. In the image above, we can see it has a few interesting devices on board. The premier device is the earth facing ABI (Advanced Baseline Imager). This can view the Earth in 16 spectral bands providing a host of different images. Two channels are for visible light, four are for near-infrared, and ten are for full infrared. Awesome, but why so many infrared channels? Each channel images a different wavelength which can then be used to view things like CO2, moisture, smoke, or a host of other things in the atmosphere or on the ground. For the purpose of this project, the ABI is mainly what we care about, but the other equipment is described here if you'd like to see a full breakdown of the launch configurations or on-board hardware: https://www.nesdis.noaa.gov/GOES-R-Spacecraft. Pretty sweet, right?
I know what you're thinking (think of this now please if not), but Brian, how does the satellite send the images to Earth? The short answer is by radio. The long answer is that the satellite has a massive antenna with a transceiver to send and receive signals. Given that equipment, one can create messages and transport them like a radio station sending music to your car radio. Audio, images, television, signals to unlock your car are all transmitted in this band of the electromagnetic spectrum, making it a bit of a target for hobbyists. If you want to keep your information safe in radio, you have to encrypt it. Consider it compromised otherwise because it is all too easy to lock onto a signal sniff the traffic on it.
Now the downlink for this particular satellite is handled by the GRB (GOES Rebroadcast). This relays the dual circular polarized signal down at 1686.6 MHz. If you're trying to do this on the West Coast of the US, that "polarized" portion comes into play as you may have to turn your dish 90 degrees to receive the signal. Damn, I hope you paid attention in high school physics.
Once the satellite gathers all the information it wants to send, it beams the information down to Earth in a large cone that we can use a satellite dish to capture. Satellite dishes typically have a reflector that captures radio waves then focuses them into a receiver that finally captures the signals and processes them into a format that makes more sense to a machine. For this project, I have two reflectors on my dish, since it's originally meant for 2.4 GHz, where the second reflector focuses the wave by the distance away from the first reflector. I'll get into the issue I ran into with this later.
Now that the process of sending and receiving data has been laid out, let's talk about my setup for this. I straight up followed a guide that explained the entire process step-by-step. If you want to give this a shot then take a look at this: https://gist.github.com/lxe/c1756ca659c3b78414149a3ea723eae2#file-goes16-rtlsdr-md. It's awesome and the comments wrap up the final portions of getting things up and running. I went with the 2.4 GHz dish setup to reuse the dish for other projects in the future. I may do something along the lines of a wifi hacking article later, who knows. The LNA to SAW amplifier is the Sawbird+ which amplifies the 1.6 GHz up to 2.4 GHz. for my RTL-SDR to receive the packets. The RTL-SDR is a dongle that can be used for software defined radios to receive signals. Note that it can not transmit, only receive. That's the difference between freedom and jail if you don't have a HAM radio license or are just careless with what you're transmitting. No one likes a knock on their door from the FCC. I also used the raspberry pi in this case. However, I got the software to run with my laptop as well. The length of the connectors was the final reason why I went with the raspberry pi option because I didn't feel like holding a laptop for a few hours waiting for the images to come in.
Once I physically had all the equipment, I decided to build my own adjustable stand for the dish. I had to find a sturdy material that wasn't too expensive and was reusable, so i went with 2.5" PVC piping to create the stand.
This was the final product I slapped together after a quick ride to home depot. It made for a lightweight and adjustable setup. I needed to be able to adjust the dish in the X and Y directions, so the dish needed its own isolated pipe to accomplish this.
It took three attempts to get this running. On the first attempt, I tried just using my laptop, which didn't work. I think I had also messed up the direction of the Sawbird, which lead to zero packets being received. After an hour of no success, I packed it up to troubleshoot. That night, I setup the raspberry pi with a static IP and the proper tools for image receiving and processing. Then, I could remotely connect to my pi on the hotspot I threw up from my phone. The next issue I ran into was properly powering the pi and the subsequent peripherals. I originally tried powering it with a portable phone charger, but the pi couldn't make it passed the boot sequence before cutting off. After talking to another friend about it, he offered a great idea of using a lawnmower battery to power everything. It's a great, reusable idea, so I did it.
After a trip to Autozone, which oddly had everything for this, I had power for my setup. There is a cigarette lighter attached directly to the battery. Then a power inverter is connected to that cigarette lighter port, to jump from DC to AC. Doing this will lead to a loss in efficiency, but I figured this would come in handy in the future. All together this cost about $50 with a high end power inverter. If you wanna save money, you could easily do this for $30.
On my second attempt, I moved to a different location because I was under high tension wires for the first attempt. I found a nice open field close by, then jumped in. The setup seemed to be 100% good to go this time, but I still wasn't receiving packets. After scanning the sky by about plus and minus 30 degrees from the 188 degree azimuth the GOES 16 satellite was from my location. I called my friend to double check the set up. He mentioned that the issue may be because the second reflector wasn't far enough away receiver. I tried just bending the reflectors shape to be wider and it finally worked. Still no packets, but I was at least getting a few packets for the images. These weren't enough packets to create any images yet though. Finally returned home to make the necessary modifications to the reflector.
I cut about an inch off of a wooden mallet I had from a previous Ikea purchase and zip-tied the reflector with the space on to the receiver. The zip-ties would cause a small amount of interference, but not enough to cause packet loss. My third attempt had arrived and I set up everything. In the configurations, I stuck with a gain of 30 and a sample rate of 200000 which sends more power through the LNA and takes less samples of the data transmitted. Believe it or not, we made it! After a few tries, the packets started rolling like clockwork. After letting it run for about an hour and a half, I had gotten quite a few images for two regions of the US and the Hestern Hemisphere.
BOOM! It's beautiful.
Now, I could only receive certain channels for these regions which included images for the upper, mid, and lower tropospheric water vapor in the atmosphere as well as the infrared long window images. This may be because my dish wasn't large enough to receive the full broadcast from the satellite or it may be from the LNA conversion. Remember, this dish wasn't intended for the 1.6 GHz range, only the 2.4 GHz. Either way I got a lot of sick images! If want to take a look at the full set of images collected, you can download them here: https://drive.google.com/drive/folders/1BqR5k1JuidqH2IaMv6dg9yySizx3TNwX?usp=sharing. I'll post some of my favorites though!