RTL-SDR V3 based basic receiver station for SMOG-P and ATL-1 Nano Satellites

SMOG-P is currently the world’s smallest _operating_ satellite as far as I know. These wonderful tiny pocket satellites are designed in Hungary by the professors and students of Budapest University of Technology and Economics:

“Apart from the units ensuring its basic operations, the payload of SMOG-P is a spectrum analyzer, measuring man-made electromagnetic pollution in the near Earth region. SMOG-P can be a world first, because there has not been a successful 1-PQ size satellite mission so far.”

The low cost receiver setup consists of these parts in this order of reception chain from the computer towards the antenna:

  1. RPi 3 board computer, running stock Raspbian OS (can work on RPi 2 either with slightly different compile settings, see below)
  2. PSA4-5043+ E-PHEMT Ultra Low noise MMIC amplifier from Adam 9A4QV, LNA 4 Alloptional, but this improves reception you get more packets
  3. SAW filteroptional, recommended for noisy urban environment etc.
  4. 7 element fixed position Carant Yagi antenna in ~80° elevation, Horizontal Polarization. Also possible to use simple DIY antennas like shown in this excellent measurement riport (added in update4 too end of this post)

    For the receiver software called “smogcli2” installation,
    follow the Readme “Raspberry Pi 3 or newer” section:


I’ve made a small script for automatic:

  1. decoding
  2. uploading
  3. and archiving old IQ files and packets

    Save the below code segment into a “start.sh” file, for example using “nano” utility in Linux:
smog_decode -t-2 -s-2 -d-1 -v -p *.cf32

#packet upload
python3 ../scripts/smog_upload.py *.pkts

#optional: this converts the IQ files for SDR# readable format
#./smog_fc2wav 50000 *.cf32

#archiving old IQ files and packets to a backup folder
mv *.cf32 ./OLD_cf32
mv *.pkts ./OLD_pkts

I’m running the receiver 24/7 in a tmux virtual terminal:

The pocket satellite’s official website:

Successful decoding and uploading of decoded packets to the BME University server
As of 1st of April 2020 the author of this article received and uploaded 3835 packets
Receiver setup: RPi3 – RTL-SDR V3 – LNA – SAW filter – 7element Yagi fixed 80° elevation
7 element Carant Yagi in fixed position, about 80° elevation

Update: Note for RPi 2 users only: For installing on RPi 2 you can use this “patch” as the original compile work for RPi 3 by default, this particular patch useful after the original code not works for RPi 2:

git pull
rm -rf build
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/arm_cortex_a7-native.cmake ..
make -j2

(Also possible to compile on RPi 1 with another settings but not makes sense as that computer is under powered for proper reception…)

Update2: 15/04/2020 Showing some preliminary results of decoded spectrum monitoring charts and dashboard of gndapp software

Update3: 16/04/2020 For clarification: the spectrum plots below were generated by gnd app 1.1.1 software (that’s dashboard shown in the pictures). Once spectrum containing packets loaded into the gnd app that automatically generates the spectrum chart and saving it to its download folder in .png format. A detailed PDF howto will come soon for describing it.

Update 4: 11/05/2020

Here is a nice comparison report of different antenna types for real satellite signal reception for those who want to try simple antenna methods:

ha5mrc experimental antenna from test report (see link above)