Move-II Decoding

As you know, the original software that can be used to decode MOVE-II is no longer available.
What software are you using and are you able to share it?


1 Like

During the last years, our satellite team has gone through a big restructuring. While the original software (AppImage) for radio amateurs is not available anymore. We still use its decoding blocks (gr-ccsds) on the stations maintained by @mdz. It is packaged into a docker container that executes on the stations after an overpass. It takes the locally stored iq telemetry files and produces the bitstream assets.

We have some ongoing experiments about a new kind of decoder that can deal with the fast turnrates, is able to combine the receptions of multiple stations and therefore also provide interesting metadata like very accurate relative timing and relative velocity. The plan is to share the results, the design and the source code. The decoder is currently limited by the preprocessing done to produce the audio asset, so we definitely like to collaborate (in a new thread) on how to make better use of this data, which could also benefit other satellites.

A first proof of concept that worked with fine alignment up to single bits allowed us to determine the distance between stations and the relative distance to the satellite up to some lousy 20km, however with some small changes, we should be able to improve this by several orders of magnitudes to 20cm! relative distance on the 145MHz band and to 7cm on the 433MHz band.

By the way, I really like how responsive this forum software is! I’m definitely looking forward for a nice collaboration.


I understand “move2radio” as the original software which is still available.

Unfortunately, at the last steps of creating the app image it aborts displaying an error message from Conda:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <

Today a former member of the satellite team provided me a contact to someone who knows about the software and agreed to help me.

1 Like

Confirming ~4 times per seconds.



1 Like

I don’t think the url is the problem but the fact that it seems to use ssl3 for cert verification.
And that is no longer supported.

(Caused by SSLError
  ("bad handshake: Error([(\'SSL routines\', \'ssl3_get_server_certificate\', \'certificate verify failed\') ],)"

Can you fix that?

No, both pyton2 and ssl3 are not longer supported and I don’t have enough coding skills

Ok. Let’s see what my contact can do. I’ll update you.

Nice to see so much enthusiasm about our satellite, I’m that contact you mentioned. On sunday, I can have a look into how to compile the move2radio software on a modern system, or how to publish a working version of the software used by the docker container for the mdz stations.


I did give it a try, by changing to a newer Miniconda2 I solved the ssl3 error but got a new one.

Here is my fork with the changed Miniconda2 version

But this now runs in OSError: [Errno 2] No such file or directory: move2radio/build/deps/conda_env/usr/etc/conda/deactivate.d'


1 Like

Greetings! I just found this thread thanks to N6RFM and am not sure if there is still a need for decoder assistance or not. If the below info is old news, very sorry for barging in!

But FYI, while I haven’t tracked MOVE-II for a while, I had previously assembled a GNU Radio ‘do-everything’ decoder flowgraph for this satellite if that would be of interest to anyone. Default GNU Radio installs won’t have all the blocks used, and it’s been a while since I gathered all the parts so the details are not fresh in my mind. But, ‘if’ anyone is interested and this could be useful, I’ll be glad to look through my downloads, etc., and get any missing source code to anyone who wants it.

As a starting point, my flowgraph is at:

… and as you can see below, it decodes the BPSK packets from MOVE-II just fine when the resulting frames are fed into the Team’s ‘BeaconParser’ utility:


Thanks Scott,

I used my Virtualbox GNURadio 3.8 vm and got ccsds installed.

Now lets see if we get some decodes.



Can you share the 4-header-bytes.hex file ?

Absolutely! I knew there had to be some dependencies that I was leaving out since it had been so long since I put this together.

That file has been added to:

1 Like

If anyone is wondering what in the world I’m doing there, the “Sync and create packed PDU” block uses a ‘syncword’ to identify the beginning of frames. However, while it outputs the frames after the syncword, it does NOT forward on the syncword itself.

Well, hex ‘FAF32000’ is not REALLY a syncword… it’s a valid part of the actual telemetry frame! So, that ‘Tagged Stream Mux’ block puts those 4 bytes back at the beginning of each frame. I’m sure there are more dignified ways to identify telemetry frames but this worked for me.

I’ve installed fec by hand.

Running make -DCMAKE_PREFIX_PATH=~/fec -DCCSDS_DEPS_FEC=Off …/ for gr-ccsds says I would need fecTargets.cmake.

The path ~/fec holds only fecConfig.cmake.

git clone --recursive

CMake Error at swig/CMakeLists.txt:37 (include):
include could not find requested file:

You need GNURadio 3.8

1 Like

Scott, do you also have the beaconparser somewhere ?