Last week I added a telemetry decoder for the 70cm beacon of ESEO to gr-satellites. Now I’ve done a telemetry parser that uses construct to extract the telemetry values. The documentation for the telemetry format is in this web, in the “attachment 2” document.Continue reading “ESEO telemetry parser”
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.
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.
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.
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.
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.
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.Continue reading “Decoding 3CAT-1”
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.
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.Continue reading “Decoding Reaktor Hello World”
Dear Piero Galeone and Antonio de Luca,
As an Amateur Radio operator experienced in the field of Amateur satellites and in the space industry, I am publishing this open letter to motivate and request the release of the complete technical specifications for the telemetry that the ESEO satellite will transmit in the frequency 437.00MHz, in the 70cm Amateur satellite band.
According to the ITU Radio Regulations for the Amateur and Amateur-satellite Services, “Transmissions between amateur stations of different countries shall not be encoded for the purpose of obscuring their meaning, except for control signals exchanged between earth command stations and space stations in the amateur-satellite service.” A strict interpretation of this rule means that the specifications of all digital protocols used by Amateur stations should be publicly available, so that anyone is able decode the data. The use of protocols with undisclosed specifications can be seen as a try to obscure the meaning of the data.
Continuing with the ITU Radio Regulations, the definition of the Amateur service describes it as “a radiocommunication service for the purpose of self-training, intercommunication and technical investigations carried out by amateurs, that is, by duly authorized persons interested in radio technique solely with a personal aim and without pecuniary interest.” In my opinion, the use of protocols with undisclosed specifications goes against the spirit of this definition, in particular, it can hinder technical investigations and self-training.
For these reasons, I am a strong proponent of requiring that all the protocols used by Amateur stations have publicly available specifications, allowing anyone to decode the data, study the protocols, learn, experiment and improve upon the state of the art. In view of the paragraphs cited above, publishing the full specifications so that anyone can build a complete decoder independently is both an obligation and the best practice.
This is especially important for Amateur satellites, which often use at least some form of ad-hoc protocols in their telemetry downlink. The public specifications for this telemetry downlink are often incomplete or inexistent. As an attempt to remedy this situation, I develop gr-satellites, which aims to decode every satellite that transmits in Amateur bands. Developing this tool usually requires some reverse engineering, due to the lack of documentation. Some similar tools by other Amateurs are the Soundmodem decoders by Andrey Kopanchuk UZ7HO and the Telemetry decoders by Mike Rupprecht DK3WN, who face similar challenges.
A large number of Amateur operators and enthusiasts throughout the world routinely use these tools to decode telemetry from Amateur satellites, contributing valuable data to the satellite operators through the SatNOGS network and other databases. Also, these tools can be an invaluable reference to educational or research institutions or companies that start building satellites.
Regarding the ESEO satellite, I believe that the educational and collaborative aims of the project is in line with the self-training and investigation aspects of the Amateur service. Thus, publishing complete specifications for the telemetry downlink seems the best practice to respect the goals of the project.
Additionally I think ESA should be held to the highest standards and be exemplary in publishing the specifications. This is specially important, since currently it is often hard to get documentation from the developers of many Amateur satellites.
While some documentation for ESEO has already been published, this is not enough to build a complete telemetry decoder. For instance, the equations needed to interpret the raw telemetry readings such as voltage, current and temperature are missing.
I hope that this letter serves to raise awareness about the need of publishing specifications for the protocols used in the Amateur service and that a complete set of documentation is published for ESEO, allowing Amateurs to build their own telemetry decoders.
Dr. Daniel Estévez, EA4GPZ.