Skip to content

Raspberry Pi Ground Station Setup

alanbjohnston edited this page Jun 14, 2019 · 52 revisions

A Raspberry Pi 3B or 3B+ can be used as a Ground Station for the CubeSat Simulator.

The Raspberry Pi Ground Station can do the following:

  • Use an RTL-SDR to receive telemetry from the CubeSat Simulator. We use OpenWebRX software ( This software also allows others to receive the telemetry using just a web browser.
  • Do automatic decoding of the AFSK 1200 AX.25 telemetry. This uses rtl_fm ( and multigen-ng ( software.
  • Analyze the CubeSat Simulator telemetry data using LibreOffice Calc
  • Connect to the CubeSat Simulator by using the Raspberry Pi as a WiFi hub (future)


  • Raspberry Pi 3B+ with power supply. A 3B and other Pis may work, too, although they may run much slower
  • RTL-SDR USB dongle and antenna
  • micro SD card with Raspbian Stretch or NOOBs to install Raspbian
  • Optional 3.5" LCD display (see section below for instructions)

Pi Ground Station Parts

If you haven't configured your Raspberry Pi yet, there are instructions here on how to setup and configure your Pi:

Initial Configuration of the Raspberry Pi

Plug in the RTL-SDR with antenna into one of the USB ports (lower right is a good choice). Plug in the micro SD card Connect your Raspberry Pi power supply. Connect your HDMI monitor, USB keyboard, and USB mouse. If you have a wired Ethernet connection, connect it to the Ethernet jack on the Pi. Your Pi will turn on as soon as power is supplied.

Pi Ground Station

Note that unless you change it, the default login is username pi and password raspberry.

SSH Access to the Raspberry Pi

The initial configuration of the Raspberry Pi must be done with an HDMI monitor, USB mouse and keyboard. When you power up your Pi for the first time, follow the prompts to configure it. You can also join your desired WiFi network by clicking on the network icon in the top right corner of the desktop.

If you want to be able to access your Pi remotely from another computer, you need to enable SSH access to the Pi. To do this, open a Terminal window (by clicking on the black window on the top)

Opening Terminal Window

A Terminal window will be open.

Terminal Window

And type this in the window:

sudo raspi-config

And under Interfacing Options select SSH then select Yes to enable.

raspi-config raspi-config raspi-config raspi-config

When you are done, select Finish to exit.


Say yes to rebooting if prompted, otherwise type sudo reboot now.

In order to connect to the Raspberry Pi, you will need SSH client software on the other computer. This is built-in to Linux and Mac computers, but on Windows, you will need to download and install a program called PuTTY. Follow the instructions here

In order to remotely login to the Pi, you will need to be on the same network as the Pi and you will need to know the IP address of the Pi. The Pi address can be learned with the ./ script - it will most likely be in the form of where xxx and yyy are numbers from 0 to 255.

Run your SSH client or open PuTTY. In the Hostname or IP Address field, type in the address of the Pi. Leave the port at the default of 22.

PuTTY Configuration

Click the Open button, and a black window will open and prompt you for a username. Type pi then hit enter. Next, enter the password.

PuTTY Logging In

You should see a login message - you are now connected to the Pi in a Terminal window.

PuTTY Logged In

VNC Access to the Raspberry Pi Desktop

VNC gives you a remote graphical interface to the Raspberry Pi desktop. You can use it instead of PuTTY if you want, but PuTTY works just fine for everything we need to do. It is enabled on the Pi by typing in a Terminal window:

sudo raspi-config

and selecting Interfacing Options then VNC then selecting Yes to enable.

You will also need to install VNC software by typing:

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

This will take a little while, and you will have to type y for yes to confirm the installation.

Also, the /boot/config.txt file needs to have these two lines added, otherwise, the screen resolution of the VNC screen is only 480x320 pixels. First make a backup of your /boot/config.txt file in case you make a mistake while editing:

sudo cp /boot/config.txt /boot/config.txt.0

Now edit the file using the nano editor:

sudo nano /boot/config.txt

Use the down arrow key to go down to the end of the file then add these two lines:



Press Ctrl-X then type y then hit Enter to save the file and exit the editor. You should be back at the pi@... prompt.

Note that VNC does not give you access to the sound from the Raspberry Pi.

From VNC, you can run a terminal window by clicking on the black window icon at the top.

In order to use VNC, you will need to reboot your Pi by typing:

sudo reboot now

You will be immediately logged out. If you are remotely logged in using PuTTY, you will need to close the window run PuTTY again to log back into your Pi in about 30 seconds after it has finished booting.

Installation of Software on the Raspberry Pi

Here are the steps to install the Ground Station software on the Raspberry Pi.

First we will install OpenWebRX (using the instructions from, which are reproduced here. These commands are typed into a Terminal window, which you can open using PuTTY, VNC, or directly if you have an HDMI monitor, mouse, and keyboard plugged into your Pi.

You should copy and paste these commands from this Wiki into the Pi Terminal window to avoid typing mistakes. Note that paste in PuTTY is a right mouse click. Paste in VNC on the Pi is a right mouse click then select Paste. For some of these commands, you may need to type a y for yes to continue. Some of these commands will take a few minutes to complete. Wait until each command completes - you can tell it has completed if the command line prompt returns, such as pi@pi-003:~ $

Start by typing:


sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev nmap

git clone git://

cd rtl-sdr

mkdir build

cd build



sudo make install

sudo ldconfig


sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'

sudo rmmod dvb_usb_rtl28xxu # disable that kernel module for the current session

git clone

git clone

git clone

cd csdr


sudo make install

cd ../openwebrx

cp ../CubeSatSim/groundstation/ .

Next, install multimon-ng using the steps from which are reproduced here:

sudo apt-get update

sudo apt-get install libpulse-dev libx11-dev qt4-qmake qt4-default

sudo apt-get install git cmake build-essential


git clone

cd multimon-ng

mkdir build

cd build

qmake ../


sudo make install


cp CubeSatSim/groundstation/ .

chmod 755

cp CubeSatSim/groundstation/ .

chmod 755

cp CubeSatSim/groundstation/ .

chmod 755

cp "CubeSatSim/spreadsheet/CubeSatSim TLM Analysis.xlsx" Documents/.

Testing the Ground Station

You can find out the IP address of the Pi by typing:



The IP address will most likely be of the form or where xxx, yyy, and zzz are numbers 0 - 255. You will need this address in order to connect via SSH, VNC, or to access the SDR from a web browser.

Test the SDR by typing


Open a browser on a computer connected to the same network as the Pi (or on the Pi Desktop) and type in the address bar the IP address of the Raspberry Pi then :8073 and hit enter. For example, if the IP address is, then the complete address would be If the OpenWebRX SDR is running, you should get a web page loaded. Hit Control-C to stop the SDR.

Test the decoder by typing


and you should see the decoder running. If the CubeSat Simulator is transmitting telemetry, you should see the telemetry decoded in the window. Hit Control-C to stop the decoding.

Note that you cannot run both the decoder and the SDR at the same time unless you have two RTL-SDR dongles plugged in.

See the Using the Raspberry Pi Ground Station page for more information.

LCD Display

Adding a 3.5" LCD display to the Pi is a great way to make the Pi Ground Station self-contained. I used this display

Plug in your LCD display and boot up your Pi. The screen will initially be all white. Follow the instructions for your display. For mine, it was


sudo rm -rf LCD-show

git clone

chmod -R 755 LCD-show

cd LCD-show/

sudo ./MHS35-show

The script will automatically reboot your Pi when it completes. The screen should now be on. My touchscreen input was rotated 90 degrees, and this was the fix for it Log back into your Pi and type:

sudo apt-get install xserver-xorg-input-evdev

sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf

sudo reboot now

Now your touch screen should be correctly aligned. If you want a higher resolution screen (important if you use VNC or connect a monitor directly to your Pi), then edit /boot/config.txt and comment out these last five lines by inserting a # then save the file:




#hdmi_cvt 480 320 60 6 0 0 0


Next install a touch keyboard:

sudo apt-get install matchbox-keyboard

After rebooting, you will find it under Accessories.

Pi Ground Station with LCD Display

Next, you can add menu items for the Ground Station Scripts. On the desktop, click the Raspberry, Preferences, Main Menu Editor. Select "New Item" and you will get a "Launcher Preferences" box. For Name, put in "SDR OpenWebRX". Click on the Browse button, then the Home icon, and click on the file. Check the "Launch in terminal" checkbox. Click on OK.

Do the same for the "Decode Telemetry" script and "Find IP Address" script

Scroll to the bottom of the list and select one of the new menu items, such as "SDR OpenWebRX". Click the Move Up button until it is at the top. Do the same for the other items you created.

Click OK to close the Main Menu Editor.

Reboot to see the new menu items by selecting Raspberry, Shutdown, Reboot in the menu, or by typing sudo reboot now in a Terminal window.

Now test starting the SDR by click on the Raspberry the click on the "SDR OpenWebRX" item. A terminal window should open and the script run.

Click on the Globe icon at the top to open the browser. In the address field, type:


when you hit enter, the OpenWebRX web page should load. Next to the address field, click on the star icon to add it as a bookmark. Now you can open it by just clicking on the name in the bookmark bar.

Pi Ground Station LCD SDR

You can’t perform that action at this time.