Remote SDR v5
Web based Transceiver
“Remote SDR” 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
Avantages | Disadvantages |
– 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
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
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
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
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
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
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.
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
- Remote SDR V5 -Raspberry 4B or Orange Pi Image Installation
- Remote SDR v5 – Manual Installation
- Remote SDR v5
- QO-100 Satellite Live
- RTTY
- Troubleshooting
- QO-100 Transceiver
- SSTV
- WSJT-X – FT8
- Omnirig – Remote SDR
- Communication Ports
- Tone generators
- Setting of GPIO outputs
- Band Scanning
- Gains and Dynamics
- Frequencies Management
- Launch of Remote SDR
- CPU Cooling
- Web GUI
- Microphone and signal processing authorization
- Configurations
- Characteristics
- Introduction to Remote SDR
- Remote SDR – Audio Channels
- CW with Remote SDR
- Rotary Knob and Morse Manipulator for Remote SDR
- VHF and UHF NBFM Transceiver
- Remote SDR v4
- Gpredict — Remote SDR
- Remote SDR V4 – Raspberry Pi 4B or Orange Pi Zero 2 image installation
- Remote SDR v4 – Manual Installation
- SA818 – RTL-SDR
- Remote SDR – Examples of realization
- Transmit over QO-100 satellite with a Smartphone
- Remote SDR V2 – Software Architecture
- Remote SDR V1- Purchase
- Remote SDR V1 – Man Machine Interface
- Remote SDR V1 – Signal Processing
- Web Client to GNU Radio
- GNU Radio to Web client
- Remote SSB Transmitter
- Remote SSB Receiver
- GPIO on Orange PI One Plus H6
- TCXO installation on HackRF
- Q0-100 Transceiver with 2 SDR – Remote SDR V1
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
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é
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.
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
OK
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?
OK
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
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é
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
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é
Hello. Move the Ram DDR folder to the root and everything will work for you.
RemSDR
Bonjour,
Pourquoi n’est-il pas possible de faire fonctionner un Hackrf one en half-duplex?
Pb de temps de configuration logiciel?
Merci,
Paul f8cjs
Pas encore trouvé la solution logiciel acceptable au niveau des drivers du hackRF. Maintenant en réception, mettez un equivalent RSP1 chinois si vous ne montez pas plus haut que 2GHz. C’est pas cher et vous aurez 12 bits de dynamique, c’est mieux que le hackRF.
Hi Andre
Trying to locate the pages under the tools.html so I can correct the spelling gpredixt but I cannot locate it
Also when Memories are saved where are they stored?
I save memories on one m/c expecting them to follow to another m/c but they are not retained.
Thanks again
73
Nick
Hi Andre
Trying to locate the pages under the tools.html so I can correct the spelling ‘gpredixt’ but I cannot locate it
Also when Memories are saved where are they stored?
I save memories on one machine expecting them to follow to another machine but they are not retained.
Thanks again
73
Nick G1BVI
Found it using grep and corrected TX
Bonsoir André
Config raspberry pi4 et adalm pluto vers qo100…
rx ok
Tx impossible a faire passer le pluto en tx , code de protection rentré .
Merci pour votre aide.
73
Roger
Allez sur le site et la page dépannage et passez en revu les tests. En général avec le Pluto, c’est le câble USB, l’alimentation ou une vieille version du firmwate
Hello Andrè, is there any chance to add other transceivers? it would be nice to use it to control an IC-705 or IC-9700 via Ethernet/IP
No Sorry. I don’t have such transceiver.
Regards
73
André
Hello Andrè,
hello F1atb,
is it possible to connect the Plute with the PI4 via ETH?
My QO-100 planing:
Sat-DishLNBPlutoUSB2ETHLANPI4( Singnal processing Web-Server)LANRouterVPNRemote-SDR-Client
All single parts are clear, but provide your “Singnal processing Web-Server” a TCP-IP connection via ETH onto the Pluto?
Regards,73 DL6GU
Jörn Uwe
No it’s not possible to connect the Pluto via ethernet. The driver I used is only via USB.
73
André
Does the SDR software work with the Lime SDR mini? It has RX and TX capabilities. Thanks!
No, not yet
73
Dear Andre,
I recently came across your impressive work on the creation of Remote SDR, which allows for the remote control of Software-Defined Radios through a web browser. I must say, I’m truly impressed by your innovation in this field.
I’m particularly interested in exploring the possibility of automating the Remote SDR system for various applications. I believe that automation could enhance its functionality and make it even more versatile. Before I dive into this project, I wanted to reach out to you and seek your guidance on the matter.
Could you please share some insights on whether it’s possible to automate the Remote SDR system? If it is indeed feasible, I would greatly appreciate any information or resources you could provide to help me get started. This could include documentation, code samples, or any specific requirements I should be aware of.
Additionally, if you have any recommendations on best practices for integrating automation into the Remote SDR system, I would be eager to hear them. Your expertise in this area would be invaluable in helping me embark on this endeavor.
Thank you for your time and consideration. I look forward to your response and the opportunity to explore the potential of automating the Remote SDR system further.
Best regards,
Jonathan
I don’t know what you have in mind by automation. Don’t forget that there are some rules which impose to be sitted close to the transmitter.
Regards
André
Hi André,
I hope you’re doing well. I wanted to inquire about the feasibility of adding an interface to the program that would allow users to transmit WAV. I’m curious to know if it’s possible and, if so, how we can go about implementing this feature.
Could you please provide some insights or guidance on whether this can be done, and if it’s possible, any initial steps or considerations we should be aware of? Your expertise on this matter would be greatly appreciated.
Best Regards,
Jonathan
Hello F1ATB, gread piece of work. I setup the Remote-SDR-Image 5.0i.. One small question: I like to shutdown the Pi by SSH command, but i can’t finde “user/password” at the doc’s. Can you help me? Thanks. 73, DL6GU
For the Orange Pi: user: root password: remsdr
For the Raspberry Pi: user: pi password: remsdr
Thanks for your quick answer. 73, DL6GU
New Issue with recent Browser on TX Audio . Proposition to solve it by R5AU
https://github.com/F1ATB/Remote-SDR/issues/40#issuecomment-1920991860
An other solution to Downgrade Chrome to an Older version
https://www.youtube.com/watch?v=e9rO9qqv7wY
That works but Chrome wants to update all the time and I am finding it difficult to prevent it.
Edge also does not now work
I have to redesign Remote SDR to take into account OS , GNURADIO, Web browser and Node.js evolutions. Huge work.
73
André, excellent news! Thank you for continuous supporting project. Waiting for update on Github
Nick , you need to disable all services related update process of Chrome before start browser : win autostart processes – 3 services via msconfig, Win Service – put disable related to google chrome update and probably (depends on version of Chrome) necessary to rename folder C:\Program Files (x86)\Google\Update ex.: to C:\Program Files (x86)\Google\Update_old, that all folks.
Very nice software André !
I’ve fixed the TX issue with rolling back Chrome to 104 version (ether 32 or 64b) and following method 1 in
https://www.browserstack.com/guide/downgrade-to-older-versions-of-chrome
With Group Policy, it is possible to disable gogole update.
73′ F4BSP
Thank you to provide this solution before I redesigned completely and create Remote SDR V6.
Regards
André
André, thank you for nice SW one small !, i am using “dual” pluto setup with 2 x RPI4 and 2 x PlutoPlus, unfortunately all PlutoPlus has similar USB id and can`t split by SW for 2 instance. Nevetheless pls support “dual” setup in Remote SDR V6 as well !
Good afternoon!!!
when can we expect the new version 6.0?
I noticed problems with the waterfall.
The waterfall is not formed correctly in NFM mode, but in WFM mode everything is fine. There is also severe overheating of the raspberry pi4, which leads to freezing. Danila I need help.
V6 not yet produced.
Good afternoon!!!
when can we expect the new version 6.0?
I noticed problems with the waterfall.
The waterfall is not formed correctly in NFM mode, but in WFM mode everything is fine. There is also severe overheating of the raspberry pi4, which leads to freezing. Danila I need help.