Software Defined Radio

From SatNOGS Wiki
Revision as of 13:37, 24 September 2019 by Danwhite (talk | contribs) (Be explicit about the device number. Discussion of the change:

SatNOGS can use a variety of SDRs. The most cost-effective solution is to use an RTL-SDR with a Raspberry Pi. More advanced SDRs can also be used, but they require more processing power than what a Raspberry Pi can offer.

RTL-SDR: RTL2832U & R820T2-Based Software Defined Radios

SatNOGS uses the RTL-SDR as the default signal receiver and tuner. The RTL-SDR is based on two chips -- the versatile RTL2832U chip and the R820T tuner. The RTL-SDR is currently the cheapest, most common, and most performing solution available in terms of general sensitivity having a frequency range of 24 – 1766 MHz. A metal enclosure with SMA connector is preferred, along with a stable TCXO (low ppm). HF coverage is optional.

These RTL-SDR "dongles" are known to work with Raspberry Pi 2 or greater:

Using V3 Dongle's Bias-T Power Supply

The V3 dongle has a built in software activated Bias-T voltage supply intended to be used for applications such as powering inline LNAs (Low Noise Amplifiers).   There are several ways to turn on the voltage, but through initial testing (as of this writing, 17 Aug 2019) it seems that the following procedure works best.

The below relates to Raspberry Pi installs only.   No testing has been performed on other systems as of yet.

WARNING:  Turning on the Bias-T with no LNA installed and a "shorted" style antenna (such as loops, egg-beaters, etc.) can damage the V3 dongle.   Never activate the bias-t with no LNA installed between the antenna and the SDR dongle.


  1. Raspberry Pi running Raspbian Buster or newer (latest release of SatNogs image, 2019091100, is demonstrated to work)
  2. V3 SDR dongle
  3. Bias-T Software Switch for linux systems
  4. LNA capable of being powered via feedline coax (note that some LNAs need modifications to be powered by the coax, and some cannot be powered by the coax at all.  Check the specifications for your LNA prior to attempting to turn on the Bias-T power supply)

Instructions for installing Bias-T Software Switch

  1. Log into your SatNogs station either directly or via SSH
  2. If your station does not have cmake installed (SatNogs Image 2019091100 does not), install cmake with sudo apt install cmake
  3. Clone the source for the Bias-T software switch with git clone
  4. cd rtl_biast
  5. mkdir build
  6. cd build
  7. cmake ..  (if you get a LibUSB 1.0 required to compile rtl-sdr error here, then do sudo apt install libusb-1.0-0-dev prior to attempting cmake .. again)
  8. make

The software switch should now be installed in the "src" directory.    If you cd src, you can turn on the bias-t with the command ./rtl_biast -b 1 and turn it off with ./rtl_biast -b 0.   Note that the developers of this switch have warned against attempting to sudo make install so that this command can be executed from ouside the src directory.   Testing has shown this warning to be accurate, so don't plan on running these commands from anywhere but the src directory, or else be sure to use the full path.

Switching the Bias-T on should yield between 4.5V and 5.0V across the center conductor and shield of the coax.   The voltage should rise almost instantly.   When switched off, the voltage seems to decrease gradually, over 5 to 10 seconds.

Instructions to activate the bias-t for SatNogs Observations automatically:

  1. Log into your SatNogs station either directly or via SSH
  2. sudo satnogs-setup
  3. select Advanced
  4. for SATNOGS_DEV_ARGS, enter rtl=0,buffers=32,buflen=16384,bias=1 and select Ok. If you have multiple dongles, change rtl=0 to the appropriate index.
  5. for SATNOGS_RF_GAIN, enter a low gain value supported by your V3 dongle (entering rtl_test at the command line prior to starting satnogs-setup will give you all allowable values of RF gain) and select Ok
  6. for SATNOGS_POST_OBSERVATION_SCRIPT, enter /home/pi/rtl_biast/build/src/rtl_biast -b 0 and select Ok
  7. Select Back
  8. Select Apply (allow sytem to update and hit enter when prompted)
  9. Select Back

Your station is now set up to turn the Bias-T on for each scheduled observation (using the SATNOGS_DEV_ARGS string) and then turn it off at the conclusion of each observation (using the SATNOGS_POST_OBSERVATION_SCRIPT).

You should now schedule several observations to fine tune the SATNOGS_RF_GAIN value to get the best S/N performance for your station.   Some have reported needing zero RF gain, others have reported low RF gain required (between 5 and 10 db), and others have said they see little benefit even with very high gain.   Each station will be different.

Advanced Software Defined Radios

The following advanced SDRs are supported by SatNOGS. These may require more processing power than a Raspberry Pi 3b or 4 can offer.

  • USRP b200
  • USRP2 (not compatible with the SatNOGS client on Raspberry Pi)
  • Airspy (not compatible with the SatNOGS client on Raspberry Pi)
  • HackRF One (not compatible with the SatNOGS client on Raspberry Pi)