I may have mentioned somewhere on this blog that I’ve been licensed since I was 18 years old; young for this hobby we call Amateur Radio. That comes with some pros and some cons …
One pro is that after 24 years, I like to think I know what I’m doing (kind of!), one con is that after 24 years (as my last blog last summer might have given away) I’m kind of in a rut with the hobby!
I was recently contacted by Mark 2E0MSZ, then newly licensed as M6WMS … who was also a serving airman in the RAF … and he lived round the corner from me … and he knew of other serving and ex-serving airmen our own age who were getting their ham tickets …. in my local area. WHAT?! This just doesn’t happen; I’ve been the only active RAF ham of my age group in Lincoln for years and then a slack handful come along together like London busses!
Fast forward a couple of months and there is now a group of us “youngsters” playing radio, bouncing ideas of each other and in the process reminding me how to enjoy the hobby again!
Case in point, over the last week or so, the ISS has been broadcasting SSTV images as part of Cosmonautics Day on 12 Apr.
The other day, Mark casually mentioned he could hear the tones on his handheld and was going to give it a go decoding them on his phone. That got me thinking – I have my RTL_SDR dongle and all the required software on my laptop, why not give it a go? Especially considering I’d just got my antennas up at my home QTH – yes, I have aerials at home (cheers Robbo!) … and a “shack” (of sorts!) now!
So this is how I received SSTV from the ISS …
The only hardware required is an RTL_SDR dongle and a suitable antenna – I was using my TSB-3301 collinear.
Software-wise, as I use Ubuntu Linux on my laptop, I opted for gpredict for the satellite prediction and radio control element, gqrx to receive the actual signal via the RTL_SDR, and qsstv to decode the tones received. (All are available from the standard Ubuntu PPAs with a command such as …
apt-get update && apt-get install gpredict gqrx-sdr qsstv
(assuming you have a working RTL_SDR setup, else install those drivers too!)
The basics of how this is going to work is as follows: gpredict will work out where the satellite is and tell gqrx the correct Rx freq corrected for Doppler shift. gqrx will in turn pass the audio to qsstv for decode. This being 3 separate software packages, not necessarily designed to talk to each other, I was expecting some hurdles, but being Linux, the hurdles are not too hard to get over with a little Googling!
gpredict and gqrx were surprisingly easy to get talking to each other: Go into the prefereneces/interfaces and add a new radio interface as follows
Next open gqrx and ensure the remote control option is enabled on the toolbar.
Back in gpredict (on the main screen) there is a little down arrow in the top right corner (next to the x to close the module) – click this and choose Radio Control. Under target, select the ISS from the top drop-down then the appropriate transponder in the bottom drop-down (Mode V Imaging) then click enable Track and next to the gqrx radio item in Settings, Engage.
All good so far? gqrx should now be tracking the satellite frequency corrected for Doppler.
Ok, so how do we get the audio into qsstv? this is the hurdle that required a little Googling!
Normally, you’d connect a rig to your PC via a soundcard interface and tell your SSTV software to listen to the tones coming in on the Mic input … hang on, the SDR is in the PC already – well you could just plug an audio cable from the earphone jack to the Mic input – if you have a Mic input that is. Guess what? My laptop doesn’t …. OK, you could just let the tones come out of the speaker and let the built in Mic pick them up – yes that will work, but it’s annoying for those around you and leaves the signal path open to interference.
This being Linux, there is an altogether more geeky alternative that solves all these problems ….
Hint: gqrx can stream audio over the network and qsstv can read audio from a file …
Ok, so how does that help? Consider the following command line pipeline …
netcat -l -u localhost -p 7355 | sox -r 48000 -e signed -b 16 -c 1 -t raw - -t wav - > ~/audio/fifo
What it’s saying is, “Take audio from the gqrx network stream, convert it to something that qsstv can handle and output it to a file that qsstv can read.” Ahhh, but that’s not just any file, it’s a FIFO – a First In, First Out – kind of a buffer. Create it before running the pipeline with the command …
So all you do now, is start qsstv, configure it to read from a file in its settings and click the play button. qsstv will ask which file; choose the FIFO.
Back on the command line, run the pipeline above, and qsstv should spring into life. When the ISS comes into view, qsstv will automatically detect the tones and the mode of SSTV, decode it and save the received images.
The next logical step is for us to attack the “FM birds” and try to make a QSO via SO-50 or similar. Thanks to Mark (2E0MSZ), Robbo (2E0RXG) and Faz (2E0FZL) for renewing my enjoyment in a hobby that has been a large part of my life for the last 24 years, but had become rather “samey samey”.