Example image from GOES-16

NOAA GOES-16

ZDA Communications Antenna Label    Getting started: The .jpg image above does not do justice to the original high-resolution .png from GOES-16.  Click the link and zoom-in to view amazing detail.1 Before describing how this image and many others were successfully received and decoded I will briefly recount the highlights or lowlights of my first attempt to receive GOES-16 in October 2018. A previous owner of our house had abandoned a DirecTV dish in the backyard. I kept the steel post and azimuth/elevation mount, but replaced the TV dish with one that was said to be good for receiving the NOAA GOES satellite. The antenna that I purchased was manufactured by ZDA Communications, and labeled 1850–1900 MHz, about 200 MHz above the frequency of interest. This first attempt at GOES reception was doomed, not on account of the antenna, but rather of my failure to understand or fully appreciate the nature of the challenge.

Aiming toward the sun

    One unusual aspect of this first attempt to receive GOES-16 was the method of aiming the antenna’s azimuth (bearing from the antenna to the satellite). I used the satellite tracking program Orbitron to show the time of day that the sun would share the same bearing as the satellite from my location. I then aimed the antenna toward the sun at that precise moment. This felt like a clever idea at the time, but it did not lead to success. Many factors in addition to the antenna’s azimuth influenced the outcome of this first effort to receive the GOES satellite.

Dish Pointer GOES-16 Azimuth

    Recently I learned about a fantastic resource for aiming a dish antenna: https://www.dishpointer.com/. This Internet site not only calculates azimuth and elevation for a selected geostationary satellite, but also draws a line over a Google image of the location, showing exactly which way to aim the antenna (photo above).2 Aiming across the neighbor's shed at the indicated point was easier and surer than using a compass. Moreover, there was no hurry, because unlike the sun, the shed was not moving.

2024 Elevation Adjustment2018 Elevation Adjustment    To adjust antenna elevation angle, I used essentially the same procedure in 2018 as in the effort to be described on this page. Back then the tool set consisted of a plastic protractor and small ‘pocket’ level; while for try #2, a digital protractor and larger level were used. It was impossible to photograph measurement while using the larger implements—not enough hands. However, in each case the protractor was placed alongside the ‘boom’, such that the angle of the boom with respect to the horizon (bubble level) could be measured after each adjustment. The mounting mechanism, inherited from the old DirecTV setup, displayed the same angle measure, and agreed within a degree or so with protractor readings.

     For the 2018 attempt to receive the GOES satellite I used a 50 foot (15 meter) run of ordinary high-frequency coax (RG-8X) from the antenna and LNA to an RTL-SDR inside the house. This necessitated constructing an outboard biasTee supply and interface, as the particular RTL-SDR used then was not capable of supplying biasTee voltage. I won’t attempt to enumerate all the possible reasons for failure of this first try. Suffice to say that tuning the SDR around the satellite frequency never once produced a whisper.


tinySA Signal Detection Setup

    Try #2 (2024): This second attempt to receive and decode GOES-16 was inspired by a simple idea. I had acquired a tinySA Ultra (handheld spectrum analyzer) and was thinking about one of its extremely useful features. TinySA Ultra can be configured to average successive sweeps, either a fixed number of times or indefinitely. Averaging cancels most of the noise, causing the tinySA Ultra to display a nearly flat line reflecting average noise power. If there is a signal anywhere in the swept spectrum, it will stand out in the average of many sweeps. The thought was that it might be possible to detect GOES-16 using tinySA in averaging mode. If such a try were to succeed, then it should also be possible to improve the signal by experimentally manipulating anything and everything that could be tweaked in the setup. As the above screen-capture indicates, this sensitive signal detection method did succeed. Note the 1 to 2 dB bump at the 1694 MHz GOES frequency. The associated setup photo is somewhat cluttered, but the antenna connects to a battery powered LNA, which connects via a short coax jumper to the spectrum analyzer’s RF input.

    Starting from a small bump in the tinySA average of many sweeps, I tweaked azimuth and elevation and even the spacing between the secondary reflector and feed (boom), as was suggested in this informative tutorial. However, inverting the small reflector made no difference. I did not adjust the antenna’s skew—That would have been tricky with my makeshift mount adapter. Some adjustments seemed to help a little, but none made the signal stand out in real-time (not averaged) sweeps of the 1.68 GHz to 1.7 GHz spectrum.

    Having made only marginal progress I began to wonder about the antenna, whether it was really capable of good reception at a frequency that was substantially different from its design frequency. Many others had reported positive results from this antenna, but I had doubts. Then I did something that may have been foolish. I bought another antenna.

GOES frequency Antenna

    The Nooelec GOES antenna from Amazon advertised a center frequency of 1.7 GHz and the label on the boom clearly confirmed this advertised specification, although my nanoVNA rendered a different opinion... Nevertheless I proceeded to substitute this antenna for testing. The Nooelec appeared physically identical to the ZDA 1.9 GHz dish. The mount attachment was the same, so it was an easy swap.

Improved signal from nooelec antenna

    In spite of my pessimism the signal was unmistakably better from the Nooelec antenna, other things being equal. In fact the GOES signal could also be seen in a real time sweep (right image above). Knowing a signal was there (marker 1) might have helped. At last there was hope of receiving something from GOES, probably not much, but possibly a proof of concept. It was time to substitute an SDR for the tinySA.

SatDump V1.2.0 (Windows desktop interface)

    Receiving and Decoding: Up to this point I had given little thought to the next phase. I was only dimly aware of various software options for decoding GOES transmissions. My thought was to run the LNA output to an SDR on the desktop computer, using RG-8X coax, like in the 2018 try. Anticipating this approach I installed SatDump on the computer (screenshot above), but continued to seek and read additional information on the general subject. This background research led to another fantastic resource: https://usradioguy.com/receiving-goes-hrit-with-satdump. Among its many useful suggestions, this article advises to install SatDump on a Raspberry Pi. Immediately I realized that doing this would eliminate the need for a coax run between the antenna and my desk (or anywhere). With luck it would be possible to place the Raspberry Pi outside next to the antenna and operate the program via an SSH terminal connection.3 Several Raspberry Pi’s were on-hand, so I picked one to use for this purpose.

    Following guidance from the ‘usradioguy.com’ web page, I built a Raspberry Pi-3B command-line SatDump install on a small capacity microSD. GOES data (if any were received) could be transferred to my desktop from the microSD, thus not burdening the Pi with any appreciable data storage requirement. I didn’t expect to receive much data. In truth, I didn’t expect to receive any image data, imagining that the signal was simply not strong enough.

Remote Data Acquisition using Raspberry Pi

    To my astonishment the very first test run of the remote Raspberry Pi setup pictured above produced many clean text files and several partial images. Some smaller images were nearly intact. In the previous tinySA testing phase I had used three different LNA / SAW filters, procured at different times in the past. One of them seemed to produce relatively the same signal to noise at a few dBm lower that the other two, which were indistinguishable from one another. There would be no harm trying the one with lower power output in the data acquisition setup. After making this substitution I got nothing at first. However, informational messages from SatDump suggested that the gain was too low. On increasing gain, a miraculous result occurred. Decoding became error-free. All those red lines were gone from the SatDump log. Even the largest high-resolution images were perfect. How could that be?

SatDump Log Example (error-free)
 
   Before this first data acquisition run with the lower-output LNA/SAW filter, I had made a list of five things to try for improving the signal. Now there was no need to proceed to item #2 on the list. After making one single change, the LNA/SAW filter swap, SatDump reported zero errors. This performance was sustained in many hours of additional decoding, over more than a week. (One red line displays on first starting the program, where it begins to receive data at a random point, e.g., in the middle of a file—after that, few or no additional errors.) A typical data acquisition session lasts about 80 minutes (an arbitrary interval), during which time voluminous data are acquired—too much to review meaningfully. In addition to hundreds of forecasts and  satellite acquired photo images there are also National Weather Service charts, such as the colorful example below.

NWS Example Chart

    The quantity of data received and decoded would resist meaningful analysis and review, except by meteorological professionals, certainly not by me. TV weather forecasts and our backyard weather station provide entirely satisfactory practical information. The appeal of acquiring forecasts and beautiful images directly from the NOAA GOES satellite is not so much for their usefulness as for the satisfaction of having made the exercise work. For the most part I have merely followed ideas and suggestions published on-line by others. Still this NOAA GOES project was a challenge, and one that yielded a pleasing reward for modest investment.

    Addendum 1: A folding table with taped-on components is of no use when it is raining. I was curious whether GOES data would be received through the rain and clouds of tropical storm Debby, which meandered slowly northward, close to our location on August 8, 2024.

Dry Box and Mounting Platform

    The dry box is approximately 10½ inches long × 5½ inches wide by 5 inches in height. There is plenty of room for GOES project components. However, short coax jumpers are stiff and awkward to fit, so I used a longer more flexible jumper between the LNA and SDR. The fan in the photo is another story. It was not needed on August 8, when the temperature was 72° F. (22° C.)—I will return to the cooling concern.

    Rain fell for 24 hours, sometimes heavy, other times light. In early afternoon this high-resolution image of the hemisphere was received. Both Debby and Emilia (Pacific storm) are clear in the zoom-able image, which was timestamped 16:30 UT on August 8, 2024.

    The antenna is situated near the south wall of the house, leaving the dry box in shade until early afternoon. Of course, when it is not raining, the top can be left off the box. Nevertheless, it seemed prudent to take steps to prevent overheating the electronics. Unfortunately I know nothing about the technicalities of cooling. Intuitively, though, it would be necessary to exchange air between inside and outside the sealed box.

Steel straw

Status script    Drinking straws are about the same diameter as power cords, and should fit through the dry box’s water-resistant openings. I purloined a pair of curved steel straws from the pantry and cut one of them with the Dremel tool to test the idea. The curved piece fit snugly. According to my admittedly poor intuition about such things, two cut pieces placed at opposite ends of the box, and turned downward on the outside, should allow moving air to pass out- or in- when the lid is shut. This whole cooling business may be a pseudo-concern, as rain falling on the lid must surely cool the inside air; and, as noted, if rain is not expected, the box can be left open. In any case, it is also reassuring that the Raspberry Pi has built-in sensing of core voltage and temperature. —I made a convenience script to format and display these parameters (image left).

Core Temperature following SatDump Startup

    According to the Linux top command, SatDump accounts for nearly 100% CPU when processing data from the SDR in real time. The graph above shows temperature increasing over the first 10 minutes of an example run, after which it stays around 60° C. for the remainder of the session—Pi core is hot at 100% CPU. Outside air temperature was about 90° F. (32° C.) and the sun was beaming directly on the closed dry box. However, I don’t think outside temperature matters a whit. What matters is processing demand. After stopping SatDump, temperature quickly dropped to about 37° C. and hovered around that value, even as the box remained in the sun. Finally, as far as I could tell, there was no appreciable air exchange between inside and outside the box. My refrigeration engineering career is on hold.


    Demo video:
My Goes Setup


    Addendum 2: GOES-16 transmits a ‘full disk’ image every half hour. My satellite reception/decoding sessions generally last one to one-and-a half hours, sufficient time for two or three high-resolution hemispheric images and a great many other files to be received. Full disk images showed more or less of the hemisphere in daylight, depending on the time of day each was acquired. The image timestamped 2100 UT seemed entirely in sunlight. At that time no dark segments are seen, either east or west. I began to think of collecting a full day of images, from daybreak to dusk. Such a sequence would show the progression of sunlight across the hemisphere, as earth and the geostationary satellite turn.

    Regrettably, the small capacity Raspberry Pi microSD did not have enough storage to accommodate a full day's data. I could have plugged a thumb drive into one of the Pi’s four USB-A sockets, but elected instead to build a fresh OS and application install on a 64 GB microSD. On September 2, 2024, (Labor Day in the United States) I started SatDump just before 5 AM local time (0900 UT) and let it run until after 7:00 PM (2300 UT).
Local weather was mixed, partly sunny but with late afternoon rain. During this approximately 14-hour period more than 20,000 files (9.5 GB) were acquired. The data included 28 half-hourly full-disk images. All were error-free.

    The next day I converted the 28 images to a lower resolution format and copied them to a video editor, in order to experiment with various presentation parameters. For example, I imagined a small analog clock in one corner (picture-in-picture), with hour and minute hands indicating the time of each image. However, when this idea was tested, the clock diverted attention from the satellite images and had to be discarded. I also tested different presentation durations, finally settling on three seconds per image. This was a subjective assessment, of course. Three seconds felt comfortable and made it easy to align the sequence with the selection of music that I had in mind to use.

    Demo video: Labor Day 2024
   


Projects Home



1. I have also uploaded a wallpaper version of the image for 1024 pixel vertical resolution screens. Right-click, SaveAs, etc. At the time this image was received it was still night over the Pacific Ocean (leftmost part of disk). However, the Raspberry Pi was barely in the shade and at 11 AM EDT (1500Z) the temperature was already 90° F (32° C). The Pi might not fare well in blazing summer sun. Keeping it cool outside will be a project for later.
2. The screen capture image inadvertently omits a copyright notice “Imagery ©2024 Airbus, Maxar Technologies” that was present in the original DishPointer image, but not in the full-screen version.
3. The Raspberry Pi at the antenna location had a reliable WiFi connection to the LAN router (opposite end of house), without the aid of a WiFi extender. This good fortune was also unexpected!





Project descriptions on this page are intended for entertainment only. The author makes no claim as to the accuracy or completeness of the information presented. In no event will the author be liable for any damages, lost effort, inability to carry out a similar project, or to reproduce a claimed result, or anything else relating to a decision to use the information on this page.