Remote SDR v4

Web based Transceiver

“Remote SDR” or “SDR Distant” is a web application allowing to remotely control an amateur radio transceiver between 1 MHz and 6 GHZ. Its first application was the duplex control of a station allowing links to the geostationary satellite QO-100 / Es’Hail 2.

Remote SDR version 4.4 is available on Github.
New features as :

  • RTTY decoder/encoder
  • HF band extension below 30MHz for RTL-SDR V3
  • option of a simplified graphics mode, for web browsers running on a low-performance PC


  • SDR in reception:
    • RTL-SDR (example: NESDR SMArt from Nooelec) or,
    • HackRF One or,
    • Adalm-Pluto
  • Frequency: 1 MHz to 6 GHz (depending on the chosen SDR)
  • Spectral band processed: 2 MHz on 2048 points (depending on the chosen SDR)
  • Audio: 1 channel
  • Demodulation: NBFM, WBFM, AM, SSB or CW
  • RTTY decoder
  • Automatic band scan
  • Equalizer on the audio channel
  • Notch filter
  • Noise filter
  • Hardware:
    • HackRF One or,
    • Adalm-Pluto (common with the receiver) or,
    • NBFM VHF / UHF SA818 module from G-NiceRF
  • Frequency: 1 MHz to 6 GHz (depending on the chosen SDR)
  • Power: 1 dBm to 30 dBm (depending on the chosen SDR)
  • Audio: 1 channel
  • Modulation: NBFM, SSB or CW
  • RTTY encoder
  • Transmitter modulation compressor
  • Audio equalizer
  • CTCSS encoder
  • DTMF encoder
  • 1750 Hz encoder
  • Programmable frequency offset for relays
  • Automatic CW Manipulator (Iambic A and Iambic B)
Radio processing
  • Hardware:
    • Orange Pi Zero 2 or Orange Pi One Plus, or
    • Raspberry Pi 4B (2 GB)
  • Software:
    • Operating System: Armbian / Debian Bullseye
    • Web server: Apache 2
    • Signal processing: GNU Radio 3.8
    • Remote SDR (version v3 minimum)
      • Html
      • Javascript
      • Python 3
    • Chrome or Edge web browser
  • Network interface: wired Ethernet or WIFI
  • Interfacing with Gpredict to compensate the Doppler of low orbit satellites
  • Interfacing with GS-232 type rotator
  • Display and Audio: WEB page on PC, tablet or smartphone


Remote SDR – Adalm-Pluto – Raspberry 4
– Well-known RPI4
– Wifi or Ethernet
– 12 bits of Pluto dynamic
– poor stability in frequency of the Adalm-Pluto

May require the addition of an external oscillator and the extension of the Adalm-Pluto band.

Remote SDR – Adalm Pluto – Opi Zero 2 – Wifi
Avantages Disadvantages
– optimized for cost
– Wifi or Ethernet
– 12 bits of Pluto dynamic
– poor stability in frequency of the Adalm-Pluto

May require the addition of an external oscillator and the extension of the Adalm-Pluto band.

Mixed Configuration HackRF – RTL-SDR – Orange Pi Zero 2
RTL-SDR – HackRF One – Orange Pi zero 2

In degraded mode, it is possible to extend reception in the 0.5 MHz – 30 MHz band with an RTL-SDR V3.

Avantages Disadvantages
– optimized for cost
– good frequency stability of the TX if a TCXO mounted on the HackRF One
– different frequency coverage of RX and TX
– RX frequency stability depends on the chosen RTL-SDR model
– 8 bits of SDR dynamic
Mixed Configuration HackRF – RTL-SDR – Raspberry Pi 4
Remote SDR – HackRF One and RTL-SDR – Raspberry Pi 4

In degraded mode, it is possible to extend reception in the 0.5 MHz – 30 MHz band with an RTL-SDR V3.

Avantages Disadvantages
– Well-known RPI4
– good frequency stability of the TX if a TCXO mounted on the HackRF One
– different frequency coverage of RX and TX
– RX frequency stability depends on the chosen RTL-SDR model
– 8 bits of SDR dynamic
Configuration 2 Hack RF One
Remote SDR – 2 HackRF One – Raspberry Pi 4B
Avantages Disadvantages
– Well-known RPI4
– good frequency stability of the TX and RX if a TCXO mounted on the HackRF One or shared between them
– large frequency coverage
– 8 bits of SDR dynamic
Configurations RTL-SDR and SA818
VHF or UHF NBFM Transceiver
VHF and UHF NBFM Transceiver
Avantages Disadvantages
– cost around 100 €
– power 1w HF
– VHF 2m and/or UHF 70cm only
– only NBFM transmission, no SSB

Details on the one band transceiver here.

Details on the two bands transceiver here.

These configurations make it possible to locate the HF part near the antennas, which is essential for links above GHz. In the transmission chain, amplifiers must be added to bring the HF signal to the desired level as well as filtering to ensure that unwanted lines are not emitted. The SDR of the reception chain can be either an HackRF One, an RTL-SDR or a Pluto depending on the frequency band you want to cover. Not all RTL-SDR models cover the same band. The transmission reception is carried out in full-duplex which is essential during satellite connection to hear the return of its own signal.

As of today (October 2021), the Raspberry Pi 4B (2 GB) is a good solution, but there are supply difficulties. The “Orange Pi” are processors similar to the Raspberry Pi running under the Armbian or Debian Operating System. In 2020 I used the Orange Pi One Plus, now in 2021 the Orange Pi Zero 2 also offers a 64-bit / 4-core processor, but also an ethernet or wifi connection. They serve as a web server and perform radio signal processing.

Example Transceiver QO-100

F1ATB QO-100 Transceiver since May 2020

Example UHF Transceiver – Wifi – Orange PI Zero 2

New configuration with the Orange Pi Zero 2 which allows communication via WIFI. No more wired Ethernet link, only 220v near the transmitter / receiver.

Experimental 432 MHz (70 cm) transceiver

Note that you need a USB Hub between the Pluto and the Orange PI One Plus (not for the Orange Pi Zero 2). This corresponds to a system bug.

Code Source et Image

The source code and the image for Orange Pi and Raspberry Pi 4B are available on Github .

Key points of Remote SDR

In addition to being able to locate the HF treatment near the antennas, other points should be noted such as:

Data rate reduction

An SDR like the Pluto requests 1.4 M samples / s (minimum) * 2 Bytes (16 bits) * 2 channels (I and Q) = 5.6 M Bytes / s for reception. It is the same for the emission. Which gives us more than 10M bytes / second.
With Remote SDR, output on Ethernet or WiFi requires:

  • 10 k samples / s * 2 bytes for the audio in reception
  • 10.24 k sample / s * 2 bytes for the received spectrum
  • 10 k sample / s * 2 bytes for transmit audio
    We are at less than 100 k bytes / s by adding the control data.

There is therefore a reduction of approximately 100 in the communication speed required, which facilitates remote control via internet / ethernet without loss of quality through data compression.

The mini remote computer

Indeed, we have a remote computer which has a GPIO to which it is possible to add functions. For example, controlling an antenna rotor, measuring electrical voltages, temperatures, etc., … It is possible to access the system via the web (Apache server), in SSH to launch an application in terminal mode, or in graphical mode by the desktop and VNC.

Posts Remote-SDR

20 thoughts on “Remote SDR v4”

  1. Bonsoir,
    Quelques minutes après avoir installé votre nouvelle version 3.1, je suis déjà conquis.
    Bravo en tous cas pour cette merveille.
    73’s de Michaël ON7KGK La Louvière

  2. Just a note to say that Remote_SDR V3 on LEO’s with Pluto is working fine with Gpredict on receive. Able to receive the bird well and frequency is tracking well. I am struggling to get an amplifier for 435 MHZ transmit to take the Pluto up to 1 watt to feed a 50 watt UHF amp. Appreciate any recommendations.
    I made a quick video clip with my phone:

    I am adjusting freq while shooting which didn’t work to well. I’ll try to make a better screen record.



  3. I tried another pass and made another video.
    Two thoughts:
    1. Can the waterfall width be offered at 62.5 since the LEO’s have a pretty narrow bandpass.
    It would be easier to tune. Currently 125 is the smallest.
    2. Is there any chance for any Noise Blanker or other noise reduction aids? In this case a neighbor turned on some device and I have some low level hash in the receiver.

    New video – CAS4B:


    1. Jeff
      Thank you for your video and suggestions to improve remote SDR

      To reduce the bandpass to 62.5kHz, I have to check the increase of processing power needed on the Orange PI or Raspberry Pi. They are already at the limit of overloading.
      An alternative could be to zoom on the display by a ratio of 2.
      Nevertheless to facilitate the tuning you can use the left and right arrow of the keyboard, or the wheel on the mouse. I have in development also, a turning knob to connect by USB.

      For the noise reduction, it’s on my wishes list. I will do something in the coming weeks.



  4. V4 – Again thanks for this great project!
    Is the screen requirement 1920 x 1080? I noticed that on my MBPro, in 1440 x 900 the controls are starting to over lap. Not a problem – just want to make sure it’s not a layout bug.

    1. I try to adapt the layout to any size of screen. But the rendering of each browser is not identical. Can you tell me more:
      – which browser are you using ?
      – are you with a zoom scale of 100% (CTRL – Mouse wheel) ?
      – are you full screen? Click on the top right square.
      – can you send me a screen copy to identify which field is overlapping

      This will help me to correct the css file which defines the layout.


    1. Strange behavior.
      I don’t recognize what is written in vertical
      The background of the 1750 Hz should be grey. Without a second line Hz which should be hidden, to leave room for the last line ‘Local’.

      It looks as if the CSS file was not correctly loaded.
      For the moment, I can’t reproduce that to correct it.

      1. I don’t see it on a 1920 x 1080 monitor but do at 1440 x 900 on my older laptop.
        That was the reason for the question.
        No big deal.

  5. great job; I just have one remark:
    comparing the interfaces with those of GQRX and SDR-Console I noticed that
    the height of the signals on the window is much lower and therefore you have a certain
    difficulty to see the lowest signals: it is not useful the regulation activated
    with the lower right arrow and not even the adjustment of the sensitivity of the rx;
    this looks like a graphics problem: is there a way to change this aspect?

    1. Scandio

      Good remark.
      For the moment, there is only a linear law between the level at the output of the receiver and the graphic.
      I will add an option for logarithm law which enhanced the small levels and compress the big levels.
      I have put this requirement in the wishes list of evolutions.


  6. Hello
    Je découvre votre soft qui semble être chouette!. j’avais vaguement regardé le HackRF one il y a quelques temps. Pourquoi ne peut on pas l’utiliser en TX et RX comme le Pluto?

    1. Le HackRF-One est un SDR half Duplex. Il travaille en émission ou réception.
      Le Pluto est un Full duplex. Il permet l’émission et la réception simultanée.

  7. Hi André,

    Thank you for sharing the great software! I am wondering whether your software will run on either Raspberry 3B or Orange Pi Lite? They are what I have currently and it will be nice if I can use them with my Adalm-Pluto.


    1. Sorry but Remote SDR will not work with a Raspberry Pi 3 or an Orange Pi Lite. They don’t provide enough processing power.


      1. Thank you for the quick reply, really appreciate it! That makes sense, I guess it is about time to get a newer/more powerful Orange Pi.


  8. Hi André, congratulations on your remote SDR project and excellent documentation!

    Due to some pressure from my wife 😀 I have to relocate my QO-100 dish. I was considering remote connection to a Pluto via Ethernet but the bandwidth needed is very high. Your web based solution looks ideal. My plans were to purchase one of the Chinese Pluto+ but I see in your ‘to do’ section mention of plans to incorporate a Lime mini SDR which is what I currently use. I wonder when you plan to integrate a Lime mini SDR option into your code? Thank you so much for this great contribution to the amateur radio community. 73 de Clive, G4KCM

      1. Yes I received that notification also André, the global shortage of devices has done us no favours. I think the Pluto+ will be the solution. Thank you so much for getting back to me and I will be implementing your web SDR over the summer months. Thanks again and Best 73 – Clive

Leave a Reply

Your email address will not be published. Required fields are marked *