- 
      
- 
        Save mattotodd/04d1a9fa7c402538748638bbef037ecb to your computer and use it in GitHub Desktop. 
Revisions
- 
        lxe revised this gist Apr 1, 2020 . 1 changed file with 10 additions and 3 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -161,13 +161,18 @@ If you're using RTL-SDR.com dongle, set `bias_tee = true` to power the SAWBird b #### 7. Roughly point your antenna at the satellite Find where the GOES-16 or GOES-17 satellites are in the sky at your location using [agsattrack.com](http://www.agsattrack.com/). Note the **azimuth** and **elevation**. Use an **actual real compass** to point your dish at the azimuth. I've been using the iPhone phone compass, which has a 20-30 degree error, rendering it practically useless. You can also use https://www.dishpointer.com/ which will draw a line on the aerial map where to point your dish -- I found that to be more helpful than the compass. Adjust your dish angle according to the elevation. Use your smartphone level app, or just eyeball it. ## IMPORTANT: Polarization Skew You should also adjust the skew of your dish roughly according to what https://www.dishpointer.com/ says under "LNB Skew". For GOES-17 I had to point the antenna's *left* long edge (if facing the same direction as the dish) up at 45 degree angle. #### 8. Run goesrecv and perform fine antenna adjustments @@ -190,7 +195,9 @@ This should help you point the antenna correctly. Slightly rotate the dish right Once you're at the local error minimum, perform the same process to find the minimum error rate while slightly adjusting the vertical angle. When the `vit` errors are at their lowest, you've pointed the antenna. Double check the antenna position again with a compass to make sure you're pointed at the intended satellite. If you can't pinpoint the signal even after precicely adjusting the antenna, flip the dish 90 degrees and try again. #### 9. Restart `goesrecv` and play around with the config parameters. 
- 
        lxe revised this gist Mar 22, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -86,7 +86,7 @@ sudo ldconfig echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf # reboot the device sudo reboot ``` #### 4. Test your the RTL-SDR dongle 
- 
        lxe revised this gist Sep 18, 2018 . No changes.There are no files selected for viewing
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -111,6 +111,8 @@ If there are errors, or if the device is not recognized: - Ensure the dongle is secured in the USB port - Remove all USB hubs and plug in into the Pi directly - Make sure you power your Raspberry Pi with at least a 2.5A power supply - Check the device using `lsusb` command. You should see `ID 0bda:2838 Realtek Semiconductor Corp. RTL2838` or something of the like listed there. If not, try the previous steps. - Run `dmesg` and check for errors such as `error -71` related to the USB device. This may mean that your RTL-SDR receiver might be broken. This happened to me, so I ordered another one, which ran fine. #### 5. Install [`goestools`](https://github.com/pietern/goestools.git) 
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 4 additions and 2 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -184,9 +184,11 @@ The `vit(avg)` stat shows the average [viterbi error rate](https://en.wikipedia. If there's no signal, the `vit` value should be over 2000. When signal is stronger it should decrease. This should help you point the antenna correctly. Slightly rotate the dish right or left and note whether the `vit` errors are increasing or decreasing. Once you're at the local error minimum, perform the same process to find the minimum error rate while slightly adjusting the vertical angle. When the `vit` errors are at their lowest, you've pointed the antenna. Double check the antenna position again with a compass to make sure you're pointed at the intended satellite; GOES-17 and GOES-16 are only about 15 degrees from each other in the sky. #### 9. Restart `goesrecv` and play around with the config parameters. 
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -204,6 +204,8 @@ Once you decreased the error rates, but your `vit` is still over 400, try making #### 10. Process packets into images While goesrecv is running, in a separate session, run: ```bash goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet --subscribe tcp://127.0.0.1:5004 ``` 
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -198,7 +198,7 @@ If the average errors are at around 1500-1800, try the following: - Cool the Raspberry Pi and the RTL-SDR dongle. I've noticed that temperature might significantly affect reception quality. - Play around with `goesrecv.conf` parameters. Try adjusting the `gain` and `sample_rate`. For the NooElec XTR or other E4000 tuners, you might need to set your gain to `10` or below. Once you decreased the error rates, but your `vit` is still over 400, try making very slight adjustments to the antenna again. 
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -107,7 +107,7 @@ If it hangs, just press `crtl-c` to exit. It doesn't have to finish. If there are errors, or if the device is not recognized: - Reinstall the driver from Step 3 - Ensure the dongle is secured in the USB port - Remove all USB hubs and plug in into the Pi directly - Make sure you power your Raspberry Pi with at least a 2.5A power supply 
- 
        lxe revised this gist Sep 16, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -200,7 +200,7 @@ If the average errors are at around 1500-1800, try the following: - Play around with `goesproc.conf` parameters. Try adjusting the `gain` and `sample_rate`. For the NooElec XTR or other E4000 tuners, you might need to set your gain to `10` or below. Once you decreased the error rates, but your `vit` is still over 400, try making very slight adjustments to the antenna again. #### 10. Process packets into images 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -219,6 +219,7 @@ Writing: ./goes16/m1/ch07/2018-09-15/GOES16_M1_CH07_20180915T231820Z.jpg ... ```  #### 11. TODO: Automatically restart goesrecv, store images on S3, send metrics to statsd and Grafana, and make videos! 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 11 additions and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -210,7 +210,17 @@ goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet --subscribe tcp: Once `goesproc` receives enough packets, it will start writing images and text to the locations described in `/usr/share/goestools/goesproc-goesr.conf`. ``` Writing: ./goes16/m2/ch13/2018-09-15/GOES16_M2_CH13_20180915T231750Z.jpg Writing: ./goes16/m2/ch13_enhanced/2018-09-15/GOES16_M2_CH13_enhanced_20180915T231750Z.jpg Writing: ./goes16/m2/ch02/2018-09-15/GOES16_M2_CH02_20180915T231750Z.jpg Writing: ./goes16/m2/fc/2018-09-15/GOES16_M2_FC_20180915T231750Z.jpg Writing: ./goes16/m1/ch07/2018-09-15/GOES16_M1_CH07_20180915T231820Z.jpg ... ```  #### 11. TODO: Automatically restart goesrecv, store images on S3, send metrics to statsd and Grafana, and make videos! Stay tuned! 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -211,4 +211,6 @@ goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet --subscribe tcp: Once `goesproc` receives enough packets, it will start writing images and text to the locations described in `/usr/share/goestools/goesproc-goesr.conf`. #### 11. TODO: Automatically restart goesrecv, store images on S3, and send metrics to statsd and Grafana Stay tuned! 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -157,7 +157,7 @@ If you're using a NooElec SmarTee dongle with an always-on bias tee, or if you'r If you're using RTL-SDR.com dongle, set `bias_tee = true` to power the SAWBird board. #### 7. Roughly point your antenna at the satellite Find where the GOES-16 or GOES-17 satellites are in the sky at your location using [agsattrack.com](http://www.agsattrack.com/). 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,7 +30,7 @@ Assembly: [Antenna] --- [Adapter] --- [(input) SAWBird+ (output)] --- RTL-SDR (with Bias Tee)] --- [Raspberry Pi] ```  ## Software 
- 
        lxe revised this gist Sep 15, 2018 . No changes.There are no files selected for viewing
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewingBinary file not shown.
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewingLoadingSorry, something went wrong. Reload?Sorry, we cannot display this file.Sorry, this file is invalid so it cannot be displayed.
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 4 additions and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -27,9 +27,12 @@ Total: **~$185** Assembly: ``` [Antenna] --- [Adapter] --- [(input) SAWBird+ (output)] --- RTL-SDR (with Bias Tee)] --- [Raspberry Pi] ``` ## Software Prep your Raspberry Pi and install necessary drivers and software. 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,4 @@ # Receive GOES-16 and GOES-17 Images with a Raspberry Pi and RTL-SDR dongle Also see the [original Pieter Noordhuis's guide](https://pietern.github.io/goestools/guides/minimal_receiver.html#minimal-receiver) 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -127,7 +127,7 @@ sudo make -j2 install #### 6. Create `goesrecv.conf` config ```bash cat <<EOF > ~/goesrecv.conf [demodulator] mode = "hrit" source = "rtlsdr" 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -160,7 +160,7 @@ Find where the GOES-16 or GOES-17 satellites are in the sky at your location usi Note the **azimuth** and **elevation**. Use an **actual real compass** to point your dish at the azimuth. I've been using the iPhone phone compass, which has a 20-30 degree error, rendering it practically useless. Adjust your dish angle according to the elevation. 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 17 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -92,6 +92,23 @@ sudo reoboot rtl_test ``` You should see something like this: ``` Found 1 device(s): 0: Realtek, RTL2838UHIDIR, SN: 00000001 ... ``` If it hangs, just press `crtl-c` to exit. It doesn't have to finish. If there are errors, or if the device is not recognized: - Reinstall the driver from Step 3 driver - Ensure the dongle is secured in the USB port - Remove all USB hubs and plug in into the Pi directly - Make sure you power your Raspberry Pi with at least a 2.5A power supply #### 5. Install [`goestools`](https://github.com/pietern/goestools.git) ```bash 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 13 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -34,8 +34,21 @@ Assembly: Prep your Raspberry Pi and install necessary drivers and software. #### 0. Get your Raspberry Pi ready - Download [Raspbian Lite Image](https://www.raspberrypi.org/downloads/raspbian/) and [Etcher](https://etcher.io/) - Use Etcher to write the image to the SD card. - Mount the SD card as a volume on your machine. - Follow [this procedure](https://www.raspberrypi.org/forums/viewtopic.php?t=191252) to configure WiFi and SSH. - Plug the card into your Raspberry Pi and turn it on. - Find the IP address of the Raspberry Pi using your gateway/router administrative interface. Now you can SSH into your Raspberry PI as `pi` with a default password `raspberry`. #### 1. Get everything up to date From now on all commands should be run on the Raspberry Pi. ```bash sudo apt update sudo apt dist-upgrade 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,7 @@ # A guide on how to receive GOES-16 and GOES-17 images using an RTL-SDR dongle. Also see the [original Pieter Noordhuis's guide](https://pietern.github.io/goestools/guides/minimal_receiver.html#minimal-receiver) ## Hardware You need: 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 9 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -167,4 +167,13 @@ If the average errors are at around 1500-1800, try the following: Once you decreased the error rates, but your `vit` is still over 400, try making cery slight adjustments to the antenna again. #### 10. Process packets into images ```bash goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet --subscribe tcp://127.0.0.1:5004 ``` Once `goesproc` receives enough packets, it will start writing images and text to the locations described in `/usr/share/goestools/goesproc-goesr.conf`. 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ You need: 1. [Raspberry Pi Model B (or B+)](https://www.google.com/search?q=raspberry+pi&tbm=shop) with a MicroSD Card **$35-40** 2. An [RTL-SDR](https://www.rtl-sdr.com/about-rtl-sdr/) dongle: - [RTL-SDR.COM V3](https://www.amazon.com/dp/B0129EBDS2/) **~$25** or - [NooElec NESDR SmarTee](https://www.amazon.com/NooElec-NESDR-SMArt-Enclosure-R820T2-Based/dp/B01HA642SW) **~$25** or @@ -71,7 +71,7 @@ echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist- sudo reoboot ``` #### 4. Test your the RTL-SDR dongle ```bash rtl_test @@ -165,6 +165,6 @@ If the average errors are at around 1500-1800, try the following: - Play around with `goesproc.conf` parameters. Try adjusting the `gain` and `sample_rate`. For the NooElec XTR or other E4000 tuners, you might need to set your gain to `10` or below. Once you decreased the error rates, but your `vit` is still over 400, try making cery slight adjustments to the antenna again. 
- 
        lxe revised this gist Sep 15, 2018 . 1 changed file with 10 additions and 10 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,9 +30,9 @@ Assembly: ## Software Prep your Raspberry Pi and install necessary drivers and software. #### 1. Get everything up to date ```bash sudo apt update @@ -42,14 +42,14 @@ sudo apt dist-upgrade sudo reboot ``` #### 2. Install dependencies ```bash # get the packages necessary to build and run goestools sudo apt install git build-essential cmake libusb-1.0 libopencv-dev libproj-dev ``` #### 3. Install `librtlsdr` Grab the latest [librtlsdr](https://github.com/steve-m/librtlsdr.git) source, compile it, and install the shared libraries/includes. @@ -71,13 +71,13 @@ echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist- sudo reoboot ``` #### 4. Test youe the RTL-SDR dongle ```bash rtl_test ``` #### 5. Install [`goestools`](https://github.com/pietern/goestools.git) ```bash git clone https://github.com/pietern/goestools.git @@ -92,7 +92,7 @@ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .. sudo make -j2 install ``` #### 6. Create `goesrecv.conf` config ```bash cat <<EOF > ~/.goesrecv.conf @@ -122,7 +122,7 @@ If you're using a NooElec SmarTee dongle with an always-on bias tee, or if you'r If you're using RTL-SDR.com dongle, set `bias_tee = true` to power the SAWBird board. #### 7. Roughly point your antenna at the satellite. Find where the GOES-16 or GOES-17 satellites are in the sky at your location using [agsattrack.com](http://www.agsattrack.com/). @@ -132,7 +132,7 @@ Use an **actual real compass** to point your dish at the azimuth. I've been usin Adjust your dish angle according to the elevation. #### 8. Run goesrecv and perform fine antenna adjustments ```bash goesrecv -v -i 1 -c ~/goesrecv.conf @@ -153,7 +153,7 @@ This should help you point the antenna correctly. Slightly rotate the dish right Once the `vit` errors are at their lowest, you've pointed the antenna! Double check the antenna position again. GOES-17 and GOES-16 are only about 15 degrees from each other in the sky. #### 9. Restart `goesrecv` and play around with the config parameters. If your `vit` errors are under 400, and you're observing no packet drops, you're all set! 
- 
        lxe created this gist Sep 15, 2018 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,170 @@ # A guide on how to receive GOES-16 and GOES-17 images using an RTL-SDR dongle. ## Hardware You need: 1. [Rasbperry Pi Model B (or B+)](https://www.google.com/search?q=raspberry+pi&tbm=shop) with a MicroSD Card **$35-40** 2. An [RTL-SDR](https://www.rtl-sdr.com/about-rtl-sdr/) dongle: - [RTL-SDR.COM V3](https://www.amazon.com/dp/B0129EBDS2/) **~$25** or - [NooElec NESDR SmarTee](https://www.amazon.com/NooElec-NESDR-SMArt-Enclosure-R820T2-Based/dp/B01HA642SW) **~$25** or - *[NooElec NESDR SmarTee XTR](https://www.amazon.com/NooElec-NESDR-SMArTee-XTR-SDR/dp/B06Y1D7P48)* **~$40** 3. [LNA](https://en.wikipedia.org/wiki/Low-noise_amplifier) and [SAW filter](https://en.wikipedia.org/wiki/Surface_acoustic_wave#Application_in_electronic_components) for around 1.69GHz - [NooElec SAWBird+ GOES](http://www.nooelec.com/store/sawbird-plus-goes.html) **~$35** 4. A 1.6 - 1.9 GHz parabolic grid antenna - *[ZDAGP1900-20-15----1850-1990MHz 20dBi](https://www.excel-wireless.com/1900-mhz-grid-parabolic-antenna/1850-1990-mhz-grid-parabolic-antenna-20-dbi)* **~$100** or - [More dBi Options](http://www.zdacomm.com/1900-mhz-grid-paraboilc-dish-antenna-series.html) - Or use a [Modified 2.4 GHz WiFi grid antenna](https://www.reddit.com/r/RTLSDR/comments/9ahdzc/modification_of_wifi_grid_antenna_to_make_it_work/) **~$60** 5. Adapter (depending on the antenna terminal): - [N-Male to SMA Male](https://www.amazon.com/gp/product/B01MFHRW4N/) **$5-10** 6. Cable(s) - [SMA Male to Male](https://www.amazon.com/s/ref=nb_sb_ss_c_1_4?url=search-alias%3Delectronics&field-keywords=sma+male+to+sma+male) **$5-10** Total: **~$185** Assembly: ``` [Antenna] --- [Adapter] --- [(input) SAWBird+ (output)] --- cable --- [RTL-SDR] --- usb --- [Raspberry Pi] ``` ## Software Prep your Raspberry Pi: 1. Get everything up to date ```bash sudo apt update sudo apt dist-upgrade # reboot the device sudo reboot ``` 2. Install dependencies ```bash # get the packages necessary to build and run goestools sudo apt install git build-essential cmake libusb-1.0 libopencv-dev libproj-dev ``` 3. Install `librtlsdr` Grab the latest [librtlsdr](https://github.com/steve-m/librtlsdr.git) source, compile it, and install the shared libraries/includes. ```bash # download, compile, and install librtlsdr git clone https://github.com/steve-m/librtlsdr.git cd librtlsdr mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINSTALL_UDEV_RULES=ON .. sudo make -j2 install # load udev rules and blacklist the DVB driver shipped with the OS sudo cp ../rtl-sdr.rules /etc/udev/rules.d/ sudo ldconfig echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf # reboot the device sudo reoboot ``` 4. Test youe the RTL-SDR dongle ```bash rtl_test ``` 5. Install [`goestools`](https://github.com/pietern/goestools.git) ```bash git clone https://github.com/pietern/goestools.git cd goestools git submodule init git submodule update --recursive mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .. # this will take a while on a raspberry pi sudo make -j2 install ``` 6. Create `goesrecv.conf` config ```bash cat <<EOF > ~/.goesrecv.conf [demodulator] mode = "hrit" source = "rtlsdr" [rtlsdr] frequency = 1694100000 sample_rate = 2400000 gain = 5 bias_tee = false [costas] max_deviation = 200e3 [decoder.packet_publisher] bind = "tcp://0.0.0.0:5004" send_buffer = 1048576 [monitor] statsd_address = "udp4://localhost:8125" EOF ``` If you're using a NooElec SmarTee dongle with an always-on bias tee, or if you're powering your SAWBird through the micro USB port, set `bias_tee = false` under `[rtlsdr]`. If you're using RTL-SDR.com dongle, set `bias_tee = true` to power the SAWBird board. 7. Roughly point your antenna at the satellite. Find where the GOES-16 or GOES-17 satellites are in the sky at your location using [agsattrack.com](http://www.agsattrack.com/). Note the **azimuth** and **elevation**. Use an **actual real compass** to point your dish at the azimuth. I've been using the iPhone phone compass, which has a 20-30 degree error, which renders it practically useless. Adjust your dish angle according to the elevation. 8. Run goesrecv and perform fine antenna adjustments ```bash goesrecv -v -i 1 -c ~/goesrecv.conf ``` This will show output every second that looks something like this: ``` ... 2018-09-15T21:52:03Z [monitor] gain: 8.44, freq: -2121.4, omega: 2.589, vit(avg): 2400, rs(sum): 0, packets: 0, drops: 55 ``` The `vit(avg)` stat shows the average [viterbi error rate](https://en.wikipedia.org/wiki/Viterbi_error_rate) over 1 second interval (if running with `-i 1`). If there's no signal, the `vit` value should be over 2000. When signal is stronger it should decrease. This should help you point the antenna correctly. Slightly rotate the dish right or left and note whether the `vit` errors are increasing or decreasing. Once you're at the local error minimum, adjust the vertical angle, and do the same. Once the `vit` errors are at their lowest, you've pointed the antenna! Double check the antenna position again. GOES-17 and GOES-16 are only about 15 degrees from each other in the sky. 9. Restart `goesrecv` and play around with the config parameters. If your `vit` errors are under 400, and you're observing no packet drops, you're all set! If the average errors are at around 1500-1800, try the following: - Terminate and restart `goesrecv`. This should allow it to readjust the gain and frequency offset to get a better read on the signal. - Cool the Raspberry Pi and the RTL-SDR dongle. I've noticed that temperature might significantly affect reception quality. - Play around with `goesproc.conf` parameters. Try adjusting the `gain` and `sample_rate`. For the NooElec XTR or other E4000 tuners, you might need to set your gain to `10` or below. Once you decresed the error rates, but your `vit` is still over 400, try making cery slight adjustments to the antenna again.