University of Colorado at Boulder University of Colorado CU Home Search A to Z Index Map
Laboratory for Atmospheric and Space Physics

Telemetry

During the first month after orbit insertion, CSSWE will transmit a beacon once every 18 seconds. CSSWE uses an amateur frequency band, so this beacon can be heard by any amateur radio operator. The CSSWE team has created a beacon decoding software package to allow amateur operators to collect satellite beacons themselves – see below for instructions to download and run the package.  The following list will ensure amateur operators are prepared to hear CSSWE:

Callsign: CSSWE
Frequency: 437.349 MHz FM
Rate: 9600 baud
Modulation: GMSK
Period: 18 seconds
RF power output: 500 mW
Polarization: Linear (Horizontal)

Two-Line Element (TLE):

Beacon Decoding Software

General

CSSWE telemetry display

This package encapsulates all the software necessary to capture, display, and upload telemetry data from CSSWE in real time!
The software package consists of two parts:
  1. Serial Port to TCP Socket Forwarding – This program forwards all serial data to an internet-enabled TCP socket. This software should reside on the computer physically connected to the TNC. All incoming data is stored locally if an internet connection is not available.This program is based on example code provided by the pySerial project. It is released under the free Python License. Supported Operating Systems: Windows, Mac OS X, Linux
  2. Beacon Decoding Client – This program listens to the serial socket and displays interesting telemetry from any received beacons. Data points include: voltage levels, input power, satellite state, temperature, and many more…. Supported Operating Systems: Windows, Mac OS X, Linux

 

This software package was created by Ben Kempke at the University of Michigan, and is based off of a similar package used to decode beacons from the RAX2 CubeSat.

Requirements

All software has cross-platform capability. All that is required is a computer running Windows, Mac OS X, or Linux with serial port access to a TNC.

The following installation instructions assume that the connected TNC has already been configured to run in KISS mode with the proper serial baud rate and port set.

NOTE: The following software does not automatically configure the connected TNC for KISS mode. Please refer to your TNC’s user manual for instructions on configuring it to run in KISS mode.

Installation

Install Python

The serial port forwarding software requires Python 2.5 or later. Python is free to download: Python.org.

Python is also available for many Linux distributions, check your Linux package manager for details on installing Python (e.g. sudo apt-get install python for Ubuntu).

Windows Installation

Although installation is essentially the same, there are some minor differences between installing on Windows and Linux-based platforms.

GS Computer Connected to TNC

  1. Create a directory to store all CSSWE GS software (e.g. C:/CSSWE_GS)
  2. Extract csswe_public_gs_dist_v2 (version 2, updated June 2013) into the newly-created directory.
  3. Navigate to the GS software directory in Windows Explorer and double-click on setup_pyserial.bat. This installs serial drivers so that Python can connect to the serial-based TNC. A command prompt will appear. Verify that no errors have occurred.
  4. Open run_serial_to_tcp.batin a text editor (Notepad, WordPad, etc.) and enter the serial port parameters specific to the connected TNC:
    tcp_serial_redirect.py -q -p COM1 -b 9600 —-rtscts -P 12500 -i 0 -n mygs_radio
    • -q
      suppresses non-error messages
    • -p COM1
      specifies the serial port the TNC is on (e.g COM1, /dev/ttyS0, etc.)
    • -b 9600
      specifies the serial port baudrate the TNC is configured to (e.g. 9600, 38400, etc.)
    • —-rtscts
      enables hardware flow control. Most TNCs use this, but if yours does not, don’t include this parameter
    • -P 12500
      specifies the TCP port to open communications with either a local or remote client. This will be referenced when configuring the beacon decoding client.
    • -i 0
      provides a radio identifier in the log files. Rarely needs to be changed from zero
    • -n mygroundstation_radio
      specifies a radio-specific identification for this radio in the log files. Please change to describe your radio.
  5. Save run_serial_to_tcp.bat and exit the text editor.
  6. Double-click on run_serial_to_tcp.bat. A new window will appear. If everything is working correctly, it should display “Waiting for connection on 12500…”.

Beacon Decoding Client

The beacon decoding client software requires Java. Java is also free to download: Java.com.

  1. If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory
  2. Navigate to the GS software directory in Windows Explorer. Then open the /CSSWE_GX_Client/ folder.
  3. Open the gs client properties file config.propsin a text editor (Notepad, WordPad, etc.) and change the following properties:
    • radio.1.name
      radio-specific identification
    • radio.1.address
      IP or address of the machine connected to the TNC (e.g. localhost – the same machine, xxx.xxx.xxx.xxx – IP only (no domain name), gscomp.mystation.com – domain name)
    • radio.1.port
      specifies the TCP port set in earlier setup
    • radio.1.type
      specifies either RAW or KISS (most TNCs will be in KISS mode)
    • client.callsign
      specifies the callsign of the ground-station’s amateur radio operator
    • client.id
      specifies a station-specific identifier (e.g. mygroundstation)
    • client.port
      specifies an uplink port to relay data on to our servers (e.g. 12501). If you would not like to open a port for uplink, set this to 0.
  4. Save config.props and return to the parent directory
  5. Double-click on run_gs_client.bat. A summary window should pop up displaying all of the relevant datapoints.

Now you are ready to start receiving beacons! When the TNC receives a valid packet, it should be relayed to the beacon decoding client, displaying live telemetry points to your screen!

Linux/Mac Installation

Although installation is essentially the same, there are some minor differences between installing on Windows and Linux-based platforms.

GS Computer Connected to TNC

  1. Create a directory to store all CSSWE GS software (e.g. ~/CSSWE_GS)
  2. Extract csswe_public_gs_dist_v2 (version 2, updated June 2013) into the newly-created directory.
  3. Navigate to the GS software directory in an open terminal and perform the following operations to set up scripts for execution and install the Python serial libraries:
    cd ~/CSSWE_GS
    chmod +x *.sh
    sudo ./setup_pyserial.sh

    This installs serial drivers so that Python can connect to the serial-based TNC. Verify that no errors have occurred.

  4. Open run_serial_to_tcp.shin a text editor (gedit, vim, etc.) and enter the serial port parameters specific to the connected TNC:
    ./tcp_serial_redirect.py -q -p /dev/ttyS0 -b 9600 —-rtscts -P 12500 -i 0 -n mygs_radio
    • -q
      suppresses non-error messages
    • -p /dev/ttyS0
      specifies the serial port the TNC is on (e.g COM1, /dev/ttyS0, etc.)
    • -b 9600
      specifies the serial port baudrate the TNC is configured to (e.g. 9600, 38400, etc.)
    • —-rtscts
      enables hardware flow control. Most TNCs use this, but if yours does not, don’t include this parameter
    • -P 12500
      specifies the TCP port to open communications with either a local or remote client. This will be referenced when configuring the beacon decoding client.
    • -i 0
      provides a radio identifier in the log files. Rarely needs to be changed from zero
    • -n mygroundstation_radio
      specifies a radio-specific identification for this radio in the log files. Please change to describe your radio.
  5. Save run_serial_to_tcp.sh and exit the text editor.
  6. Type ./run_serial_to_tcp.sh. If everything is working correctly, it should display “Waiting for connection on 12500…”.

Beacon Decoding Client

The beacon decoding client software requires Java. Java is also free to download: Java.com.

Like Python, Java can also be installed as a package. Check your distribution’s package manager for details on obtaining the JVM. Common packages are openjdk-6-jdk and sun-java6-jre.

  1. If this is a different machine than the one set up earlier, repeat steps 1-2 from above to create a working directory
  2. Navigate to the GS software directory in Windows Explorer. Then open the ~/CSSWE_GS/CSSWE_GS_Client/ folder.
  3. Open the gs client properties file config.propsin a text editor (gedit, vim, etc.) and change the following properties:
    • radio.1.name
      radio-specific identification
    • radio.1.address
      IP or address of the machine connected to the TNC (e.g. localhost – the same machine, xxx.xxx.xxx.xxx – IP only (no domain name), gscomp.mystation.com – domain name)
    • radio.1.port
      specifies the TCP port set in earlier setup
    • radio.1.type
      specifies either RAW or KISS (most TNCs will be in KISS mode)
    • client.callsign
      specifies the callsign of the ground-station’s amateur radio operator
    • client.id
      specifies a station-specific identifier (e.g. mygroundstation)
    • client.port
      specifies an uplink port to relay data on to our servers (e.g. 12501)
  4. Save config.props and return to the parent directory
  5. Type ./run_gs_client.sh. A summary window should pop up displaying all of the relevant datapoints.

Now you are ready to start receiving beacons! When the TNC receives a valid packet, it should be relayed to the beacon decoding client, displaying live telemetry points to your screen!

Disclaimer

The CSSWE beacon decoding software package is provided by the University of Colorado “as is” and “with all faults.” The University of Colorado makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of this beacon decoding software package. There are inherent dangers in the use of any software, and you are solely responsible for determining whether this beacon decoding software is compatible with your equipment and other software installed on your equipment. You are also solely responsible for the protection of your equipment and backup of your data, and the University of Colorado will not be liable for any damages you may suffer in connection with using, modifying, or distributing this beacon decoding software package. In downloading and running this software, you agree to accept the risks outlined in this disclaimer.