GOES HRIT Receiver



This page describes my Geostationary Operational Environmental Satellite (GOES) High Rate Information Transmission (HRIT) receiver I built to receive the GOES-R Series relay of reduced resolution imagery. GOES 16 was the GOES East satellite. NOAA's GOES-19 satellite, the latest and final satellite in NOAA's GOES-R Series, began operations as GOES East on April 7, 2025. GOES 19 operation comes after its June 25, 2024 launch, and subsequent post-launch testing of its instruments, systems and data. GOES-19 replaced GOES-16 as GOES East, positioned 22,236 miles above the equator at 75.2 degrees west longitude. GOES-16 will now become a backup for NOAA's operational geostationary constellation, maintaining its operational readiness for future use, if needed.

The imagery transmitted by the GOES 19 (GOES East) and GOES 18 (GOES West) geostationary satellites resides in L-band at 1694.1 MHz using BPSK (binary phase shift keying) modulation. The HRIT (High Rate Information Transmission) service provides broadcast of low-resolution GOES satellite imagery data and selected products. This receiver replaces the receiver I built a long time ago to receive the analog weather facsimile (WEFAX) imagery transmitted by the GOES satellite on 1691 MHz. You can read about my GOES WEFAX analog receiver HERE. My GOES HRIT receiver uses a a software-defined radio (SDR) tuner (a USB dongle) plugged into a Linux-based computer (Raspberry Pi 4). The Raspberry Pi contains all programming on a Mini SD card.

GOES-19 (GOES East) is positioned at 75.2 degrees W longitude, with coverage of North and South America and the Atlantic Ocean to the west coast of Africa. GOES-18 (GOES West) is positioned at 137.2 degrees W longitude, with coverage of western North America and the Pacific Ocean. Below are the transmission characteristics of the HRIT signal.

Characteristics
HRIT Broadcast Specifications
Operating Frequency Range
L-Band
Center Frequency
1694.1 MHz
Data Rate
400 Kbps
Symbol Rate
927 Ksps
Modulation
BPSK
Polarization
Linear - Vertical offset


My receiver incorporates the Nooelec GOES Weather Satellite products. These products include:

- GOES grid parabolic reflector antenna
- NooElec SAWbird+ GOES Barebones - Premium Saw Filter & Cascaded Ultra-Low Noise LNA Module for NOAA (GOES/LRIT/HRIT/HRPT) Applications. 1688MHz Center Frequency
- NESDR SMArTee XTR SDR - Premium RTL-SDR w/Extended Tuning Range, Aluminum Enclosure, Bias Tee, 0.5PPM TCXO, SMA Input. RTL2832U
- Nooelec RTL-SDR v5 SDR - NESDR Smart HF/VHF/UHF (100kHz-1.75GHz) Software Defined Radio
- NooElec SAWbird+ GOES - Premium Saw Filter & Cascaded Ultra-Low Noise LNA Module for NOAA (GOES/LRIT/HRIT/HRPT) Applications. 1688MHz Center Frequency

SDR and signal processing is accomplished on a CanaKit Raspberry Pi 4 EXTREME Kit - Aluminum with 8GB of RAM. This kit includes:

- Raspberry Pi 4 8GB Model B with 1.5GHz 64-bit quad-core CPU (8GB RAM)
- 128GB Samsung EVO+ Micro SD Card (Class 10) Pre-loaded with NOOBS, USB MicroSD Card Reader
- CanaKit Premium Aluminum Case with Built-In Passive Heat Sink Cooling
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply with Noise Filter
- Set of 2 Micro HDMI to HDMI Cables - 6 foot (Supports up to 4K 60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)

Signal processing on the Raspberry Pi 4 is accomplished using the goestools software suite (available on github) that decodes and generates the transmitted images. The goestools software suite includes:
- goesrecv to demodulate and decode signal into packet stream
- goeslrit to assemble LRIT files from packet stream
- goesproc to process HRIT files into plain files and images
- goesrecv monitor software utility for monitoring the status of goesrecv

I began this project when GOES 16 was operational. When GOES-19 became operational in early April 2025, I had to update the goesproc configuration file, "goesproc-goesr.conf," to capture the GOES-19 imagery.

I use Airspy SDR# (SDRSharp) software for signal analysis. This software uses the NESDR SMArTee XTR SDR as the receiver and displays a frequency spectrum and waterfall display around a frequency of interest. SDR# will also demodulate narrowband and wideband FM, AM, LSB, USB, CW, and RAW signals. SDR# will also decode the RDS information broadcast by most FM broadcast stations.

Below is a picture of the GOES grid parabolic reflector antenna from NooElec. The antenna is linearly polarized. To view GOES 16, positioned at 75.2W, the antenna pointing angle at my location is 160.5 degrees in azimuth and 48 degrees in elevation. The LNB skew is -15.9 deg (turn counter-clockwise standing behind the antenna). I did not account for the LNB skew in pointing my antenna.



I mounted the NooElec SAWbird+ GOES Barebones low noise amplifier (LNA) in a weatherproof Polycase AN-03F-01 diecast aluminum NEMA enclosure. This LNA is mounted outside immediately below the grid parabolic reflector antenna to establish the noise figure of the system. The picture below shows the NooElec SAWbird+ GOES Barebones LNA mounted inside the enclosure.



The input to the LNA is attached to an SMA bulkhead connector using an SMA male-male adapter. This direct connection minimizes losses to maintain the lowest system noise figure compared to using a short cable. The grid parabolic antenna feed cable incorporates a male SMA connector that directly connects to the female SMA bulkhead connector. The aluminum enclosure is slightly too short for mounting the assembly shown above. As such, the SMA bulkhead connector is mounted to a rectangular plate which in turn is mounted to the enclosure. I applied Permatex black adhesive sealant around the plate to ensure water does not intrude. I also applied Permatex black adhesive sealant in the top seam of the aluminum enclosure between the lid and the main part of the enclosure. The outdoor LNA assembly is shown below.



The antenna and LNA was initialty mounted on a mast that was mounted on the deck at the rear of my house. A mast bracket and extension secure the mast to the eve of the house. That initial antenna installation is shown below.



A closeup view of the mast bracket is shown below.



The above location is about the only location in my back yard that has a clear unobstructed view of the sky. Tree foliage will block the signal and decrese the signal-to-noise ratio (SNR). Initially, I located the antenna/mast about 18 inches to the right in the picture above. Tree foliage blocked a small portion of the sky and I discovered the error rate of the Viterbi forward error correction (FEC) algorithm would be 400 or below in the early cool morning, but as the foliage warmed up during the day, the Viterbi error rate increased to over 550 and sometimes over 600. As such, I relocated the antenna/mast such that the foliage would not be in the field of view as shown below for the new location.



Although the picture above suggests tree foliage may be within the field of view, the field of view is sufficiently clear of tree foliage.

Testing the above antenna/LNA yielded good results as shown below.



The GOES HRIT signal is the "hump" in the center of the spectrum image. The "hump" is approximately 8 dB above noise level (-62 dBFS signal; -70 dbFS noise). This signal yielded a useable Viterbi error rate reported by goesrecv as shown below.



In the picture above, the Vit(avg) ranges from 180 to 426 with 0 (packet) drops. This signal quality will allow decoding of the GOES HRIT images with virtually no packet dropouts.

The output of the outdoor LNA is connected to RG6 coaxial cable that runs into the house. There is a type N-to-F connector adapter on the output of the outdoor LNA. I used RG6 coaxial cable because there is already an unused run of RG6 coaxial cable nearby that runs into the house and into the room where my Linux-based computer (Raspberry Pi 4) is located. The impedance mismatch is not a significant issue; however, the loss in the coaxial cable must be compensated for.

Reception using the deck installation is corrupted when the wind blows at a moderate strength. Wind blows a tree limb into the antenna field of view and increases the Viterbi error rate. I reloacated the antenna to the front of my house such that it looks over the roof. The new installation is shown below.



Below is a picture showing the antenna and LNA in the new location. It has a clear view of the sky.



I used 50-ohm Super 8 Low-loss coaxial cable to carry the LNA output into the house and into the room where my Linux-based computer (Raspberry Pi 4) is located. The Viterbi error rate [Vit(avg)] is typically below 250-275 with this setup.

I constructed an indoor LNA/BiasTee/SDR Assembly to compensate for the coaxial cable loss from the outside LNA to the SDR inside my house. The NESDR SMArTee XTR SDR provides 4.5 VDC to power the NooElec SAWbird+ GOES - Premium Saw Filter & Cascaded Ultra-Low Noise LNA Module inside the indoor enclosure. However, power is also required to power the NooElec SAWbird+ GOES Barebones - Premium Saw Filter & Cascaded Ultra-Low Noise LNA Module in the outdoor enclosure. To power the outdoor LNA, I included a bias tee in the indoor enclosure and a 5-VDC voltage regulator to provide power and feed the power into the coaxial cable. I included a diode in the output of the voltage regulator to reduce the voltage to approximately 4.3VDC. Another diode is included in the voltage regulator input for polaritary protection. A 9-VDC "wall wart" provides the source of the dc power. An internal view of the indoor LNA/BiasTee/SDR Assembly is shown below.



The LNA/BiasTee/SDR Assembly is housed in a weatherproof Polycase AN-05F-01 diecast aluminum NEMA enclosure. Although weatherproofing is not required for indoor use, I used a waterproof enclosure anyway, in the event I decided to mount it outdoors. Mounting it outdoors requires usage of a waterproof USB A connector and a long run of USB cable with extenders. I did incorporate a USB Ruggedized/Waterproof Zinc Coupler Straight A Female to A Female from USBFirewire. Connection to this connector is made via USB Rugged Waterproof A Extension 6.5 ft Cable Zinc Straight A to Enclosed A Female from USBFirewire. The external "wall wart" is connected through a Tensility International Corp 10-02931 connector type 2.1mm ID, 5.5mm OD plug to wire leads. The connector jack on the enclosue is a Tensility International Corp 10-02978 twidt lock connector type 2.1mm ID, 5.5mm OD twist lock jack to 1-footwire leads. The RF input is via SMA bulkhead connector. An SMA adapter connects the assembly to the coaxial cable. Pictures of the indoor LNA/BiasTee/SDR Assembly is shown below.









Below is a picture of the CanaKit Raspberry Pi 4 EXTREME Kit containing the Raspberry Pi 4 8GB Model B with 1.5GHz 64-bit quad-core CPU with 8GB RAM) and a 128GB Samsung EVO+ Micro SD Card (Class 10).



Initial testing stored the downloaded images on the Micro SD Card. I added a 1 terabyte (TB) solid state drive (SSD) to the Raspberry Pi 4 on which to store the images. Using the Micro SD Card with repetitive writing will wear out the card; as such, I added a Samsung 870QVO 1TB SATA 2.5" SSD that is connected to one of the USB ports using a Sabrent 2.5" SATA SSD to USB 3.1 adapter. Below is a picture of the boxes for the SSD and adapter and a picture of the CanaKit Raspberry Pi 4 EXTREME Kit with the SSD connected and operating. You can see the blue LED indicator on the SATA SSD to USB 3.1 adapter is illuminated indicating the SSD is connected.





The black USB cable seen in the picture above is the connection to the SATA SSD to USB 3.1 adapter. The white USB cable is connected to the The LNA/BiasTee/SDR Assembly.

The power supply that comes with the CanaKit Raspberry Pi 4 EXTREME Kit produces a lot of RF noise (EMI - electromagnetic interference), especially when the SDR is connected. The RF noise creates significant interference with AM broadcast radio reception. The power supply is a 3 Amp switching power supply that apparently has little or no EMI suppression. I suspect the power supply may introduce conducted RF emissions on its dc output and therefore creates noise in the SDR and on the SDR power to the LNA in the LNA/BiasTee/SDR Assembly. This interference may contribute to higher Viterbi error rates.

Considering the high EMI produced by the CanaKit Raspberry Pi 4 EXTREME Kit power supply, I built my own 5 Volt power supply using a Mean Well RS-25-5 25W, 5V@5A switching power supply. Pictures of this power supply are shown below.







The power supply includes a 1/2 Amp fuse for the ac input and a 3-Amp fuse in the dc output. I included an on/off switch and an LED pilot lamp that illuminates when dc power is present on the USB Type-C pigtail extension power cable . The power supply is contained in a 4.875"x2.5"x 1.5" ABS plastic enclosure. This power supply works well and produces no noticable RF interference.

The Raspberry Pi 4 runs the goestools software suite that decodes and generates the transmitted images.

The GOES HRIT receiving system works well and receives the GOES images with minimal dropouts. Below is a picture of the signal spectrum measured indoors using the indoor LNA/BiasTee/SDR Assembly. The signal is similar to that measured outdoors; however the overall signal and noise level is higher because of the additional amplification afforded by the indoor LNA, including cable losses.



This signal yielded a similar useable Viterbi error rate reported by goesrecv as shown below.



The Viterbi error rate reported by goesrecv is now somewhat lower than that shown above after further adjusting the antenna poistion in its new location.

I have seen the Viterbi error rate reported by goesrecv vary from day to day when the atenna was mounted on my deck because of interference from tree foliage. The lowest Viterbi error rate measured indoors that I have seen averages around 225. Below is a picture showing the vit(avg) ranging from 219 to 236.



If the system is working properly there will be no VCDU drops reported by goesproc. The only report from the goesproc will be packet counts and reports of file writing as shown below.



Below are some of the first images I received with the deck-mounted setup. The resolution of these images have been significantly reduced for presentation on this webpage.

The first image below is a full disk image using the channel 07 imager operating at a wavelength of approximately 3.9 um. This wavelength is considered the "Shortwave Window" Band IR (with reflected daytime component).



The next image below is the same full disk image but enhanced with false color.



The image below is a full disk image using the channel 13 imager operating at a wavelength of approximately 10.3 um. This wavelength is considered the "Clean" IR Longwave Window Band IR.



The image below is a mesoscale sector image using the channel 02 imager operating at a wavelength of approximaely 0.64 um. This wavelength is considered the "Red" Band Visible.



Below is a mesoscsale cropped image of the same sector but in full color received on May 12 2024 a 1822 Zulu (UTC). If you look closely, you can see the Tenessee River in north Alabama.



The image below is another mesoscale sector image.



The image below is another full color mesoscale sector image received on 14 May 2024 at 2307 Zulu (UTC) showing significant cloud coverage over North Alabama. Note three very tall clouds present producing thunderstorms.



Below is a mesoscale sector full color image of Hurricane Beryl received on 1 July 2024 at 1922 Zulu (UTC) with the antenna mounted at the front of my house. The eye of the hurricane is clearly visible.



Below is the same mesoscale sector view of Hurricane Beryl at the same time, but is a Channel 13 [Infrared (IR) Longwave] enhanced image.



The mesoscale domains are 1,000 by 1,000 km movable rectangular regions. Mesoscale scans frequently revisit an area of interest to monitor regional conditions. GOES-16 has two default domains (M1 = East Coast; M2 = Midwest); however, the domains can be positioned anywhere within the full disk upon request.

Products produced by the National Weather Service are also broadcast. One such image is presented below and is a tropical surface pressure analysis.



Below is a full disk, full color image received on 12 May 2024 at 1830 Zulu (UTC).



Below is the same image cropped to show North America and the United States. Similar to the above, the resolution of this image has been significantly reduced for presentation on this webpage. As such, even the original cropped image below looks better than displayed below.



Below is another full disk, full color image received on 14 May 2024 at 2230 Zulu (UTC) showing the sunlight terminator midway across the full disk.




In February-March 2025, I modified the indoor LNA/BiasTee/SDR Assembly to include the black-colored Nooelec RTL-SDR v5 SDR - NESDR Smart HF/VHF/UHF (100kHz-1.75GHz) Software Defined Radio dongle. This device does not include a built-in bias tee to power the LNA. I powered the LNA in the indoor enclosure with the output of the 5-VDC voltage regulator that also provides power to the coaxial cable to power the outdoor LNA. The revised indoor LNA/BiasTee/SDR Assembly is shown below.



This setup resulted in a low Viterbi error rate. The Viterbi error rate is now typically below 100 as shown below using the goesrecv monitor utility application. The picture below shows the Viterbi error rate is 92.



The Viterbi error rate has been as low as 62 (or lower) as shown below using the goesrecv monitor utility application.



I wrote a program in C# that downloads two current GOES 19 HRIT images from the Raspberry Pi every 30 minutes and stores them on a Windows-based computer. The program also uploads those images to my webpage every 30 minutes. Those current GOES 19 HRIT images can be accessed below.

The latest GOES-19 full disk, full color, image received through my HRIT receiver is available HERE


The latest GOES-19 full disk, CH13 IR enhanced, image received through my HRIT receiver is available HERE


I also wrote a program in C# to delete outdated files stored on the Raspberry Pi.


The Advanced Baseline Imager (ABI) is the primary instrument onboard the GOES satellites used to image the Earth's weather, oceans, and environment. Below is a table listing the imager band numbers, their band center wavelengths, what they "see," and the band type.

ABI
Band No.
Approximate
Center Wavelength (um)
Band "Nickname"
Band Type
1
0.47
"Blue" Band
Visible
2
0.64
"Red" Band
Visible
3
0.86
"Veggie" Band
Near-IR
4
1.37
"Cirrus" Band
Near-IR
5
1.6
"Snow/Ice" Band
Near-IR
6
2.2
"Cloud Particle Size" Band
Near-IR
7
3.9
"Shortwave Window" Band
IR
(with reflected daytime component)
8
6.2
"Upper-Level Tropospheric Water Vapor" Band
IR
9
6.9
"Mid-Level Tropospheric Water Vapor" Band
IR
10
7.3
"Lower-level Water Vapor" Band
IR
11
8.4
"Cloud-Top Phase" Band
IR
12
9.6
"Ozone Band"
IR
13
10.3
"Clean" IR Longwave Window Band
IR
14
11.2
IR Longwave Window Band
IR
15
12.3
"Dirty" Longwave Window Band
IR
16
13.3
"CO2" Longwave Infrared
IR


Below is a table listing the GOES HRIT products that are transmitted along with their transmission schedule.

Product Name
Format
Source
Schedule
GOES East/
GOES-16/17 (ABI)
Full Disk
Spatial Res: 2 Km
HRIT Imagery:
Band 2 Visible
PDA/
HRIT/EMWIN
System from ABI
GOES Schedule
Full Disk
Every 30 Minutes
GOES East/
GOES-16/17 (ABI)
Full Disk
Spatial Res: 2 Km
HRIT Imagery:
Band 7 Infrared (SW IR)
Band 8 Infrared (IR/WV)
Band 9 Infrared (IR/WV)
PDA/
HRIT/EMWIN
System from ABI
GOES Schedule
Full Disk
Every 30 Minutes
GOES East/
GOES-16/17 (ABI)
Full Disk
Spatial Res: 2 Km
HRIT Imagery:
Band 13 Infrared (LW IR)
Band 14 Infrared (LW IR)
Band 15 Infrared (LW IR)
PDA/
HRIT/EMWIN
System from ABI
GOES Schedule
Full Disk
Every 30 Minutes
GOES East/
GOES-16/17 (ABI)
Full Disk
Spatial Res: 2 Km
HRIT Imagery:
Band 2 Visible
Band 7 Infrared (IR/VW)
Band 13 Infrared (IR)
PDA/
HRIT/EMWIN
System from ABI
GOES Schedule
Full Disk
Every 15 Minutes
Tropical Storm
Products
Graphics
NOAA/NWS
National Hurricane Center
Hourly
Emergency Manager's
Weather Information
Network (EMWIN)
Text and Graphics
NOAA/NWS
EMWIN Program
As Received
GOES Data
Collection System (DCS)
Text(Coded)
NOAA/ NESDIS/ OSPO/ SPSD DCS
Program
As Received
Meteosat (MSG -Severi)
Graphic
NOAA/NESDIS/OSPO SPSD
Hourly
Himawari (HBI)
Graphic
NOAA/NESDIS/OSPO SPSD
Hourly
Administrative Text Message
(N/A - Manually entered
in response to events)
Text
LRIT System Administrators
Hourly or
As Needed
Himawari (HBI)
Imagery:
1. Visible
2. Infrared
3. Water Vapor
Japan
Meteorological
Agency and
NOAA/NESDIS/OSPO
Hourly