Recommendations for receiving Es’hail 2

A couple days ago, Janos Tolgyesi HG5APZ asked me by email about different hardware setups to receive the Amateur radio transponders on Es’hail 2, with an interest on inexpensive but effective solutions. He was quite happy with my detailed reply and convinced me to turn it into a blog post, so that other people can learn from it.

This post is intended for people that do not know much about Es’hail 2 but are interested in receiving it. If you’ve been investigating about the different setups that people are doing to receive it, then probably you’ll not learn anything new here. The post addresses questions such as “do I need a modified LNB” and similar.

FUNcube telemetry submitter for gr-satellites

After doing a PW-Sat2 telemetry submitter, I’ve set out to add an telemetry submitter for the FUNcube telemetry server. I’ve been in contact with Dave Johnson G4DPZ, who has been kind enough to send me a Java example explaining how the submission protocol works.

The protocol is very simple. It is based on a HTTP POST request whose content is the telemetry frame in hex. To prevent spoofing, some sort of HMAC formed by an MD5 digest of the message concatenated with a user-specific authorization code is used in the POST url. The authorization code is distributed to each user when registering on the server. The Python implementation of the telemetry submitter is here.

To use the submitter in gr-satellites, you need to obtain your Site Id (or username) and the Authorization code (which is usually sent to you by email when registering). See the README for how these parameters have to be specified in the decoder.

Studying Es’hail 2 Doppler

Es’hail 2, the first geostationary satellite carrying an Amateur radio payload, was launched on November 15. I wrote a post studying the launch and geostationary transfer orbit, and I expected to track Es’hail 2’s manoeuvres by following the NORAD TLEs. However, for reasons not completely known, no NORAD TLEs were published during the first two weeks after launch.

On November 23, people found Es’hail 2 around the 24ºE geostationary orbital slot by receiving its Ku-band beacons at 10706MHz and 11205MHz. On November 27, NORAD TLEs started being published, confirming the position of Es’hail 2 around 24ºE. Since then, it has remained in this slot. Apparently, this is the slot that will be used for in-orbit test before moving the satellite to its operational slot on 25.5ºE or 26ºE.

Since November 27, I have been monitoring the frequency of the 10706MHz beacon to measure the Doppler. A geostationary satellite is never in a fixed location as seen from the Earth. It moves slightly due to imperfections in its orbit and orbital perturbations. This movement is detectable as a small amount of Doppler. Here I study the measurements I’ve been doing.

Decoding ESEO

ESEO is an educational satellite project for university students led by ESA. It is a microsatellite based on the S-50 platform by SITAEL and indeed serves as an in-orbit validation of that platform. It carries payloads developed by students in 10 European universities, and also a FUNcube payload from AMSAT-UK. It was launched last Monday in the SSO-A launch.

The satellite transmits 9k6 GFSK telemetry in the 70cm Amateur satellite band (do not confuse this telemetry with the telemetry sent by the FUNcube payload in the 2m Amateur satellite band). Last week I wrote an open letter to the directors of the ESEO program requesting the publication of the complete specifications for this telemetry. The existing documentation is published here as two documents called attachment 1, which describes the coding of the frames, and attachment 2, which describes the structure of the telemetry frames.

The main problem motivating my open letter was that the information in attachment 2 was insufficient to produce a telemetry decoder for ESEO. However, last Tuesday an updated version of this document was published. This new version seems to include all the information we need. Apparently, this new version has been published due to my open letter and the pressure made by some people at ESA surrounding the ESEO project.

I would like to thank all the people that have expressed their opinion about the importance of having well documented protocols in the Amateur radio service, as well as all the people in ESA that have pushed for the publication of the documentation, and understood that this is an important matter.

In this post we look at the coding used by ESEO, that is, everything described in attachment 1, and how the decoder in gr-satellites is implemented.

Uploading PW-Sat2 telemetry with gr-satellites

Yesterday I spoke about decoding the telemetry of PW-Sat2 with gr-satellites. Today I have added to gr-satellites a telemetry submitter block that sends the frames to the PW-Sat2 telemetry server. All users of the PW-Sat2 decoder from gr-satellites are recommended to set this up and submit telemetry to the PW-Sat2 telemetry server, as well as to the SatNOGS database. Here are the instructions to configure the submitter.

Decoding PW-Sat2 with gr-satellites

PW-Sat2 is a students satellite made by the Students Space Association at Warsaw University of Technology, in Poland. The project started in 2013 and was finally launched last Monday in the SSO-A launch. The satellite carries a sail to aid in deorbiting. This will be deployed on the 39th mission day. The deorbit is expected to happen in one year.

The satellite team has made available a lot of open-source software, such as groundstation software for Radio Amateurs, a telemetry server and even the software that runs on the on-board computer. There is also a good amount of design documentation. This is something a bit unusual and admirable for a university satellite.

PW-Sat2 transmits standard G3RUH-scrambled BPSK AX.25 frames in the 70cm Amateur Satellite band. The baudrate can be selected between 1k2, 2k4, 4k8 and 9k6 by the satellite team. The interesting thing is that there are many types of packets besides telemetry. For instance, it can list and transfer on-board files, such as the images taken by the satellite camera. These packets can be decoded by using the FramePayloadDecoder software.

Since the FramePayloadDecoder software is quite complex and it is written in Python, I have decided to make a telemetry parser for gr-satellites that simply loads this software into GNU Radio and passes the frames to the decoder. Here are the instructions to set this up.

Decoding 3CAT-1

A few days ago I spoke about my Reaktor Hello World decoder in gr-satellites. Another of the satellites that were launched with Reaktor Hello World in the November 29 PSLV launch is 3CAT-1, a 1U cubesat from the NanoSat Lab in Universidad Politècnica de Catalunya. It is designed as a technology demonstrator of COTS parts, and integrates four scientific payloads.

The communications system of 3CAT-1 uses a Texas Instrument CC1101 FSK transceiver chip, which is very similar to the CC1125 used in Reaktor Hello World. It transmits a 9k6 FSK telemetry beacon in the 70cm Amateur band. An interesting thing about this beacon is that it is powered by a temperature gradient that generates naturally within the satellite. A Peltier module is used to collect energy from the gradient and power the communications module. This is called “eternal self-powered beacon demonstrator” by the designers of the satellite, since it doesn’t depend on batteries or solar cells.

I have been in contact with Juan Fran Muñoz from NanoSat Lab, who has been kind enough to send me a telemetry recording for 3CAT-1. With this, and following my implementation of the Reaktor Hello World decoder, I have added a decoder for 3CAT-1 to gr-satellites.

December DSLWP-B camera planning

It is again the beginning of the month, which means that the Earth will be in view of the Inory eye camera on board DSLWP-B. As usual, I have updated my camera planning notebook to compute the location of the Moon and Earth, as seen from the camera.

Wei has already scheduled observations on 2018-12-06 11:20 UTC and 2018-12-07 08:30 UTC. On each of these observations, an image will be taken at the start of the observation and the UHF transmitter will be activated for 2 hours.

I have used the 20181128 tracking file from dslwp_dev as orbital state for the calculations. As the date of the observations comes nearer, I might rerun the computations with updated ephemeris data, but this time it doesn’t seem critical to estimate the orbit with precision. In November, there were occultations of the Earth behind the lunar disc, and the times for these depended a lot on the orbital state. In December there will be no occultations, however.

The figure below shows the prediction for the camera view in the scheduled observations. On the 6th, the Earth will come close to the edge of the Moon. On the 7th, the Earth will be closest to the camera centre since we started planning and taking images in October.


Decoding Reaktor Hello World

Reaktor Hello World is a 2U cubesat built by the Finnish company Reaktor Space Lab as a test of their cubesat platform and demonstration of the first miniature infrared hyperspectral imager. It was launched on November 29 by a PSLV from Satish Dhawan Space Centre, together with several other cubesats. It transmits 9k6 GFSK telemetry in the 70cm Amateur satellite band.

The satellite uses a Texas Instruments CC1125 FSK transceiver chip. This is very similar to the CC1101 that I used a few years ago in my 70cm Hamnet experiments, so I already knew the coding and features of this chip quite well. The satellite team has a Github repository with a GNU Radio decoder based on the gr-cc11xx decoder block for the CC11xx series of chips. Since gr-cc11xx doesn’t seem to be maintained anymore, I wanted to implement my own CC11xx decoder in gr-satellites and use it to decode Reaktor Hello World.