Remote SDR v5

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 5.0 is available on Github.
New features as :

  • New SDRs processed:
    • SDR Play RSP1, RSP1A,
    • MSI.SDR
  • Sharing the receiver between multiple users
  • https protocol (port 443) grouping all communications

Listen to QO-100 live with Remote SDR

Characteristics

Receiver
  • SDR in reception:
    • RTL-SDR (example: NESDR SMArt from Nooelec) or,
    • HackRF One or,
    • Adalm-Pluto
    • RSP1, RSP1A
    • MSI SDR
  • 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
Transmitter
  • 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
    • Raspberry Pi 4B (2 GB)
  • Software:
    • Operating System: Armbian / Debian Bullseye
    • Web server: Node JS /Express
    • Signal processing: GNU Radio 3.9
    • Remote SDR (version v3 minimum)
      • Html
      • Javascript
      • Python 3
    • Chrome, Edge or Chromium web browser. Don’t use Firefox.
  • 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

Configurations

COMPACT CONFIGURATION with an ADALM-PLUTO – Rasperry Pi 4 – ETHERNET
Remote SDR – Adalm-Pluto – Raspberry 4
AvantagesDisadvantages
– 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.

COMPACT CONFIGURATION with an ADALM-PLUTO – Opi Zero 2 – Wifi
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 in June 2022

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 https://github.com/F1ATB/Remote-SDR .

Updates

Since version 5.0, it is possible to update, online,Remote SDR to the last version. Go to the “Tools” page and click on :
Look for updates / Recherche des mises à jour

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

11 thoughts on “Remote SDR v5”

  1. Hello André,

    thank you for this new release. I am testing it out on an RPi4 with the image you provide via github.

    I have some feedback:
    * even after resetting the browser settings and cache I have the strange behaviour that when I enable RX auto frequency correction to track the beacons. Every time I do so and no matter which manual frequency correction I set, the ‘man correction’ field jumps to -140 kHz when I select the ‘auto correction’ selector box.
    Whenever I perform an update to bring the beacons more in line with the actual required frequency, the next time the correction is updated automatically, it jumps back to 140 kHz.
    * When I try to set the TX to ‘QO100-up’, the selected frequency band jumps back to 70 cm (432 000 000 Hz).
    * I get a notification on the front screen that version 5.01 is available. I don’t think I find it back on either your website or the github pages. Is this intended?

    For your reference: I have also tried the QO100 remote listening station that you have setup on your website and that one works fine. I also see that site is running 5.01, so maybe the issues I am seeing are merely due to me running an initial version of remote SDR?

    All the best,
    ON8HZ Lieven

    1. Lieven

      For the frequency correction, you have to set a frequency window in which the system will look for the beacons. It depends on your system. For example -20000,+150000. It’s define in the “Settings” page, RX configuration, Frequency Bands.
      For the version 5.01. It’s a minor bug correction for RTTY. You can update from 5.00 to 5.01 in the Tools page. Click on “Look for updates”.
      For the TX, don’t forget to enter the access key. 1234

      73
      André

      1. André,

        thanks a lot for the fast response. After entering the access key in the setting screen, a lot became clear to me. All frequency settings get unlocked and new buttons appear in the tools menu.

        It was a PICNIC (Problem In Chair, Not In Computer) 😉

        Thanks and have a nice weekend,
        Lieven.

  2. Hi Andre, good morning, I’m having problems activating the PLUTO in TX mode, in version 5.02 the TX was working well, I ended up upgrading to version 5.04 and it’s not working anymore, I did the whole browser reset procedure, clear in the settings from the browser, reboot on adalm pluto via remote sdr tools and I couldn’t solve the TX, do you have any suggestions to solve this problem?
    Just for the record this also happened in version 5.01 I could not key the pluto transmitter, when I updated to version 5.02 everything worked again, another information for registration when I have another IP address configured on the Pluto USB the TX does not work, only when I change to the default 192.168.2.1 that returned to work the TX in version 5.02.
    Thanks
    Hugo
    PY2UGO

  3. Hello Andre,
    I solved the problem I did not inform that I switched for another pluto that was with version 0.31 and did not work when updating to version 0.34 the tx is working, ask a new question, I realized that CHROME and Edge made updates and in these new updates I can no longer give a BYPASS in the security message tried everything but it alerts on the site safe and does not allow me more access the server https, already had this problem?

  4. Hello Andre,
    While looking for a GUI for HackRF Transmitter, I found your project. I tested Remote SDR v5.02 on PC + NodeJS (Linux Ubuntu/ Windows 10) + 2x HackRF + GNURadio 3.10.2. TX transmitter and RX audio works fine except the RX spectrum refresh. It doesn’t run smoothly. You can see the step changes of the spectrum. I tested on localhost and remote client (Firefox/Chrome) – it’s the same.
    In version 4.5 you used the UDP protocol for GNURadio communication. Why did you move to TCP in 5.x?
    I suspect a problem in network communication, because compared to HDSDR, the spectrum speed is not the best.
    Regards
    Robert SQ5SAG

    1. The refresh rate is around 5 spectrums per second. It’s a compromise. If I increase it, the workload will be higher and the data rate on the network also.
      You can, if you want to suppress the smoothing function. Click on the bottom right of the spectra to modify the setting.
      André

  5. Hello André
    Thank you for this wonderful Software!

    I tried to install V5 on a HP-Computer (Debian 11 ), all the installation steps without problems (you made an excellent Gide). After start Radio_Server.js the program fails. I believe due to missing GPIO.
    ————–
    root@hp:/remsdr# node Radio_Server.js
    node:internal/fs/utils:347
    throw err;
    Error: EINVAL: invalid argument, write
    at Object.writeSync (node:fs:924:3)
    at Object.writeFileSync (node:fs:2213:26)
    at exportGpio (/remsdr/node_modules/onoff/onoff.js:18:8)
    at new Gpio (/remsdr/node_modules/onoff/onoff.js:172:36)
    at Object. (/remsdr/remsdr_modules/CPU.js:26:15)
    at Module._compile (node:internal/modules/cjs/loader:1126:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
    at Module.load (node:internal/modules/cjs/loader:1004:32)
    at Function.Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1028:19) {
    errno: -22,
    syscall: ‘write’,
    code: ‘EINVAL’
    —————
    How to disable the GPIO-Functions? (RPI4 boards are not available on the market)
    Thank you in advance
    Peter, hb9pae

    1. Peter

      All GPIO functions are located in /remsdr/remsdr_modules/CPU.js

      For the GPIO adressing the temperature:
      – remove line 26 Fan_Pin=…..
      – clean the content of the function ReadTemperature() in line 27

      Do similar actions on the GPIO ‘Oscillator TX’
      Do similar actions on SetGPIO

      73
      André

Leave a Reply

Your email address will not be published.