Decoding Radio Transmission

Using SDR#, dl-fldigi and the FUNcube Dongle Pro+ to decode radio transmissions from the PITS Raspberry Pi board

SDR (software defined radio) devices can be used to decode the radio signals coming from the PITS LoRa transmitter. For our project we are using the FUNcube Dongle Pro+ to great effect, although it certainly wasn’t a straightforward process. For that reason I am writing this tutorial.

It might be useful to first understand an outline of the whole process, start to finish.

Having set up your PITS board, you should be sending image packet data as well as GPS coordinates. The radio signals can be received by an antenna connected to your FUNcube Dongle. To view these signals, we used a program called SDR#. To decode these signals, we used a program called dl-fldigi. However, dl-fldigi cannot listen directly to the FUNcube input, hence the reason for using SDR#. We can output the signal to a VAC (virtual audio cable) installed on the pc directly from SDR#, and then use the VAC as input to dl-fldigi, so the VAC acts as a link to get the signal between the two programs. Once the signal is in dl-fldigi, it can be decoded and the image packets saved to the pc, and GPS coordinates saved to an output txt file.

GPS from PITS -> FUNcube -> SDR# -> VAC -> dl-fldigi -> GPS in txt file

Step 1:

Download SDR# from:

  1. Extract all the files from the zip (do not ignore this step) to somewhere other than Program Files.

  2. Double click on install-rtlsdr.bat from within the extracted folder.

  3. Plug in your FUNCube Dongle Pro+

  4. If you are using the FUNCube Dongle Pro+ DO NOT run zadig.exe, as suggested by other tutorials. The FUNCube comes with pre-installed drivers, and we spent a lot of time wondering why SDR# wouldn’t recognise it, having overwritten those drivers using zadig. I followed this tutorial to fix it:

  5. Download and install the VAC software from (the orange link is half-way down the page) and install it: Extract all files from the ZIP and run Setup Program in Administrator Mode (Reboot after installation or de-installation).

  6. After installation, navigate to recording devices on your pc (right click on the speaker or via Control Panel->Hardware and Sound->Sound) and you should see the VAC. Right click it and go to properties->the Listen tab->then check “listen to this device”.

  7. Open SDR# and select the FUNCube Pro+ from the drop-down source menu:

1 - tue36O6.png


8. Under the “audio” tab on the left, select the FUNCube as input, and the VAC as output.

9. Check the “USB” button from the “radio” tab on the left,

2 - NfAU7pv.png

then press the play button and you should have something that looks like this:

3 - B6X6r4l.png

The spike in the middle is a side-effect of using the USB dongle and you can remove it by selecting “Correct IQ” in the “radio” tab on the left. To tune into your signal, change the frequency at the top to your broadcast frequency (ours was 434,250,000 and we had to do some manual adjustment to fit the spike in nicely. Hence 434,251,650 in this picture). You should see a spike. Drag the edge of the pale box to cover the spike like so (or change the Bandwidth option under the “radio” tab):

4 - pCWVQlS.png

See troubleshooting section for SDR# FAQs

Step 2:

Download dl-fldigi from:

  1. Open dl-fldigi in HAB mode (do not ignore this step). Decoding will not work in the normal mode. Either click the HAB mode icon which the install gave you, or if you only have one dl-fldigi.exe in your folder, you can run it with the --hab command from linux or windows terminal.

  2. Once open, you should see something like this:


3. Click Configure->Sound Card and set the PortAudio Capture option to your Virtual Audio Cable (we called ours SDR). If at any point you don’t see an option we have, try restarting the programs.

4. You should now see your signal in the window below when you press the play button in SDRSharp and are at the right frequency. Signal strength is represented by colour with blue->yellow->red going from no signal to strong signal:


5. In the signal window (as shown above), you should see three lines which follow your cursor. The two outer lines must be aligned with the centre of your two strong bands of yellow/red signal. To change the width of the two outer lines, click Op Mode->RTTY->custom and change “Custom shift”:

Whilst you are in this menu, change the other values to match what are shown in the picture.

6. Click in the window to set the position of the lines and, if you have aligned the outer lines correctly (shown below), you should now be getting the green “packets decoded” message at the top, and you should see your message amongst the random characters in the decoding window:

See for dl-fldigi documentation

- Max