Serenity - alanbjohnston/CubeSatSim GitHub Wiki

Serenity CubeSat Telemetry

Here is information on the Serenity CubeSat built by Teachers in Space: https://teachers-in-space.com/serenity/

Here is information about the launch of Serenity on the Firefly Alpha rocket: https://space.skyrocket.de/doc_lau/firefly.htm

Launch window is currently Thursday September 3 0100 - 0400 UTC and it will be live-streamed by Everyday Astronaut: https://everydayastronaut.com/flta001-dream-alpha/

SatNOGS observations of Serenity transmissions:

Serenity will transmit on 437.1 MHz in the 70cm amateur radio band. Here is their IARU coordination information: http://www.amsat.org.uk/iaru/

The signal is digital in AX.25 format at a rate of 4800 bps (4k8). Here is an audio recording of the telemetry:

https://github.com/alanbjohnston/CubeSatSim/blob/FIAB-v3/groundstation/WAV/beacon_test_2.wav

To receive Serenity telemetry, you will need:

  • An antenna mounted outside with a clear view of the sky, especially to the north or south (probably a directional antenna such as a Yagi)
  • A radio or SDR to tune to 437.1 MHz and demodulate as Narrowband FM (NFM or NBFM)
  • Packet decoding software to display the contents of each packet.

The simplest antenna/SDR combination is an RTL-SDR USB radio dongle and rabbit ears. For example this combination which unfortunately isn't available right now: https://www.amazon.com/gp/product/B011HVUEME

The easiest setup is to use a Raspberry Pi (3, 3B, 3B+, 4B all work fine) running Raspberry Pi OS.

ARISS Radio Pi

You could start with a plain Raspberry Pi and install software such as:

  • RTL-SDR drivers
  • SDR software such as CubicSDR
  • Packet decoding software such as Direwolf

It is much easier to start with a pre-built image such as the ARISS Radio Pi (https://github.com/alanbjohnston/CubeSatSim/wiki/Radio-Pi)

ARISS Radio Pi

or the RadioPi.club (https://radiopi.club) image.

RadioPi.Club

If not, there are plenty of guides on how to install RTL-SDR, CubicSDR, Gqrx, and Direwolf on a Raspberry Pi that you can Google.

Once you have these applications installed, or if you start with a radio Pi image, the scripts in this repository will configure and connect them together to do the decoding.

For example, the packet.sh script allows you to select a variety of packet sources including:

  1. APRS US 2m (144390 kHz)
  2. CubeSatSim APRS (434900 kHz)
  3. APRS European APRS 2m (144800 kHz)
  4. APRS Australian APRS 2m (145175 kHz)
  5. APRS on another frequency
  6. APRS on ISS (145825 kHz)
  7. Serenity CubeSat 4800 bps (437.1 MHz)
  8. Test Serenity CubeSat decoding with WAV file

Testing your setup with local terrestrial APRS is very good way to make sure things are working. Unless you are in a very remote area, you should pick up APRS signals and you should see them decoded on your screen.

Testing the decoder using the recorded WAV file is also good, so you can hear the signal and see what the packets look like. Note that these are simulated Serenity packets based on my best guesses and may not be identical to the real CubeSat signal.

You simply run the script and then type the number for your selection.

Getting the script is easy. You can do it with just these simple steps. Open a terminal window (a black window) and type:

sudo apt-get install -y git

Uninstall pulse audio:

sudo apt-get remove -y pulseaudio

sudo reboot now

After the Pi reboots, open a terminal window (a black window) and type:

cd

If you are starting with the ARISS Radio Pi image, you can skip this next step as the CubeSatSim software is already installed.

git clone http://github.com/alanbjohnston/CubeSatSim.git

cd CubeSatSim

git pull

git checkout FIAB-v3

You are now ready to run the scripts. The packet.sh script fully automates the decoding. You will hear the decoded signals on the speaker (there is no squelch, so it is a bit noisy). Just type:

groundstation/packet.sh

And then select your number and hit Return. I'd suggest first testing with APRS on 2m since there is radio traffic in most places. You can also select 8 and test the decoder with a pre-recorded WAV file of Serenity telemetry. The decode looks like this in the Direwolf window:

Direwolf decoding Serenity

To quit, either hold down the Control key and press C a few times or just close the window.

There is another script that uses CubicSDR as the SDR. You will not hear the decoded audio, but you will see the signal in the waterfall and can adjust the frequency for Doppler shift and change the gain and other settings. To run that script:

groundstation/cubicsdr-packet.sh

You will need to follow these steps to load the serenity session configuration file which will configure CubicSDR. Unfortunately, there is no way to automatically load this when you run CubicSDR.

"CubicSDR will load in about 10 seconds."

"When CubicSDR opens, select Generic RTL2832 device then click Start to begin."

CubicSDR select RTL-SDR

"Then select File/Session/Open Session then load /home/pi/CubeSatSim/groundstation/cubicsdr-sessions/cubicsdr-aprs-direwolf.xml then Open."

CubicSDR Open Session

You will then need to go back to the terminal window and hit Return. Direwolf will then run and display the decoded packets.

CubicSDR start Direwolf

You can test this by selecting the APRS option and then arrange your screen so you can see both windows:

CubicSDR Direwolf APRS

Congratulations, you are ready to receive telemetry from the Serenity CubeSat - just select option 7 in the script.

You can use Gpredict on your ARISS Radio Pi to track Serenity so you know when to listen with your outside antenna.

Good luck!