KickSAT-2 (44046): Sprite deployment planned for 2019-03-19T03:40UTC



@zacmanchester reports that they will attempt to command KickSAT-2 to deploy the Sprite nanosatellites tonight. The command will be sent around 03:40UTC on March 19th. We will use the Dwingeloo telescope at 18:44UTC and 20:14UTC to listen to KickSAT-2 and the Sprites to confirm if they were ejected.

It is unclear how quickly after deployment the Sprites will become active, but there is a good opportunity for SatNOGS stations to listen for the Sprites at 437.240 MHz. A 64kHz MSK modulation is expected (not sure about burst rates etc), so the default SatNOGS MSK modulator will not be able to demodulate the data, but SatNOGS stations may be able to detect if the Sprites are transmitting, and hence have been ejected, well before the Dwingeloo telescope has a change to get telemetry from KickSAT-2. Any stations which can be setup to record >64kHz of IQ data at 437.240 MHz are suggested to forward IQ data to @zacmanchester.


Thanks @cgbsat! I will try to fill in some more details:

The Sprite modulation is MSK at 64 khz, but the signals are spread spectrum. They are encoded with 511 bit Gold Codes, so the net bit rate after de-spreading is about 125 bits/sec. If anyone has the capability to decode IQ data at 64 khz or higher sample rates, it would be much appreciated.

Each Sprite transmission is about 0.25 seconds long. Each Sprite transmits once every few seconds with randomized timing. They are solar powered and have no battery, so they will only transmit if they are in daylight.


@zacmanchester reports that KickSAT-2 telemetry shows that the Sprite chipsats should have been deployed. Since sunlit passes are required, SatNOGS stations in the Southern hemisphere are best placed, though early evening passes in the Northern hemisphere also should still be sunlit.


We have sent commands to deploy the Sprites and have confirmed that they were received by KickSat-2 thanks to @cgbsat and the Dwigneloo radio telescope! Unfortunately we have not received any Sprite signals yet since all of our passes have been at night (they are solar powered and will only transmit in daylight). We need help recording daylight passes. To decode the Sprites, we need at least 64 kHz IQ data centered at 437.240 MHz. Any help would be much appreciated!


Also, the following passes show signals that look like they may be Sprites:


Unfortunately on all of the three stations that you linked, other observations around 437.200 MHz have the same lines so it’s probably local noise and not the sprites. :frowning:

In detail:
For station 331 (obs 544579 and 544581):
Examples: 531316 (at 437.252 MHz) and 541112 (at 435.275 MHz )

For station 187 (obs 543766):
Examples: 539465 (at 437.200 MHz) and 541787 (at 437.275 MHz)

For station 24 (obs 544568):
Examples: 541775 (at 437.275 MHz) and 541531 (at 437.250 MHz)


This has some lines though it is a hour after sunset:

whereas earlier later it is a blank waterfall, for comparison, way after dark:


We picked up the Sprites with the Dwingeloo telescope. We had to perform a plane scan of the KickSAT-2 as the orbits of the Sprites are unknown. More info on twitter.


So how does one decode the signals from the sprites?

I see there is a gr-sprite ( repository in github, however when I try and build it I get the error:

[  5%] Building CXX object lib/CMakeFiles/gnuradio-sprite.dir/
/Users/darkside/Dev/gr-sprite/lib/ error: expected
      '(' for function-style cast or type construction
        baseBand[k] = iBB[k]*cos(M_PI/2*k) + std::complex<double>{0, qBB...
1 error generated.

I’m not sure if this is just something do with GCC versions, or something else?


OK, it looks like my compiler is old (LLVM 7.3) but I was able to make it compile by adding


to the top level CMakeLists.txt file.

However it looks like I need to supply PRN codes, and can only look at 2 of them at a time. I’ll just record some IQ data on the next pass and have a play with it later…


Did you get it working or try decoding the iq data from the Dwingeloo file?