The SV1BTL-version can be found here: https://github.com/sv1btl/PhantomSDR-Plus ..it is compatible with the normal version, but enhanced.

Recent posts

#11
PhantomSDR / Upgrade to v.5.2.0
Last post by Emmanuel SV1BTL - Oct 15, 2026, 08:48 PM
What's new in v.5.2.0

  • Show All — the station's other receivers under your waterfall. On a station with more than one receiver, a Show All checkbox after the receiver buttons puts each other receiver under the main waterfall as a live strip: its spectrum and waterfall, with its own markers and frequency scale, in its own colours and levels, the newest line at the top. Hover over it to read a frequency and the nearest marker; click and that receiver opens there, in the same tab — on a marker in the marker's mode. It is off until the listener ticks it, and costs about 10 KB/s per listener who does; each strip is a waterfall-only socket, so it is not counted as a listener on the other receiver, and the server needs no change. See docs/MULTI_RECEIVER.md.
  • Back where you were. Leaving a receiver's page remembers its zoom, brightness, contrast, mode and frequency. Its strip on the other page opens on that same part of the band, with a green ▼ where you were tuned and a Full span / Last view button, and clicking inside that view brings the receiver back exactly so — not at its whole range.
  • The right receiver by itself. A frequency this receiver does not cover but another of the station's receivers does — typed, from a link, a bookmark, a DX spot, the chat or another listener's label — opens that receiver's page, tuned there. The mouse wheel, the digit steps and a rig connected over CAT never switch receivers.
  • A number pad, and a typed frequency brings its band. Click the black frequency box and a number pad opens (or type on the keyboard; the two Enter keys pick kHz or MHz); click a digit to step it up, right-click to step it down. A typed frequency now lands the way that band's button would: the waterfall zoomed to the whole band, the band's brightness and contrast, and the band-plan mode — on this receiver or, through the automatic switch, on the one that covers it. See docs/USER_GUIDE.md.
  • Receive diversity switches even when only one site hears the station. Until the two streams are aligned they are paired by arrival, and the better site is chosen by SNR as usual — so a station heard only by the remote now comes through, the case where diversity helps most. The panel shows Ready (unaligned) meanwhile. See docs/RECEIVE_DIVERSITY.md.
  • Connected Users and User Statistics per receiver. With several receivers open side by side in one browser, each page's windows show its own receiver, from its own logs.
  • A bigger spectrum and waterfall on phones. In the extended mobile view the spectrum is 1.6× taller and the waterfall nearly twice as tall as before (on a 412-pixel screen 57 + 42 pixels instead of 35 + 23); the desktop page is unchanged.
  • Fixes: the CW filter is centred on the 750 Hz tone (the tone used to sit 50 Hz from the filter's edge), and CW-L reaches the server as LSB; links written for KiwiSDR and UberSDR (modulation=CWU, CW-U, CWL) open in CW and CW-L; websdr.org registration works with sdr-list registration switched off, sends its ping over IPv4, and its callback (/~~orgstatus) now gets through proxy.py; the installers build the backend with OpenCL whenever the OpenCL step ran.
  • Documentation: the User Guide, Several Receivers, Receive Diversity and Project Structure manuals cover all of the above in all seven languages, and the offline PDFs are rebuilt.

Download: https://github.com/sv1btl/PhantomSDR-Plus
Live Demo: https://phantomsdr.no-ip.org
Webpage: https://phantomsdr.psychomed.gr/index.html
Facebook Page: https://www.facebook.com/people/Phantomsdr-plus/61595163793205/

P.S. I would also like to publish it here, after many tries to minimize the latency

We measured the delay from the antenna to the listener's speaker on four web receivers at the same moment, each through its own web page. All four were tuned to the DCF77 time signal on 77.5 kHz, and every second mark heard was compared with an internet-synchronised clock.
Receiver                                                  Audio delay | Range over 3 minutes  |    Location
PhantomSDR-Plus (SV1BTL)                                0.30 s            0.29–0.35 s                  Athens
UberSDR                                                              0.30 s            0.21–0.31 s                  Athens
PA3FWM WebSDR (University of Twente)            0.35 s            0.31–0.44 s                  Enschede, Netherlands
KiwiSDR (Web-888)                                              0.96 s            0.96 s                          Athens

Measured on 15 October 2026 at 23:10 UTC over 180 seconds, all four at once from the same computer. The delay includes the network and the listener's sound output, and moves by a few hundredths of a second from one session to the next.



#12
UberSDR / Re: Updated Twente-like WebSDR...
Last post by Emmanuel SV1BTL - Oct 14, 2026, 04:54 PM
Quote from: Bas ON5HB on Oct 13, 2026, 03:45 PMNice! Installed it.

Thank's Bas!

1.- In case of updates of this repo, please run:

cd WebSDR-emulation-for-UberSDR   # the folder you cloned
git pull
bash install.sh

2.- In case of UberSDR update, and IF the 8901 returns to default, please read here:

After an UberSDR update
UberSDR's updater only adds missing services to docker-compose.yml and never changes the ubersdr service, so the mount lines stay. After each update, run:

bash ~/ubersdr/websdr_sv1btl/check-after-update.sh
If every line says OK, everything is in place. A FAIL line says what is wrong. The usual case is missing mount lines; compose-mounts.txt in the package has them. The other is "websdr-sound.js changed shape", meaning a new UberSDR renamed something the audio extras use. The page still plays; please report it on GitHub Issues.

With another folder or container name:

UBERSDR_DIR=/path/to/ubersdr CONTAINER=my_container URL=http://localhost:8901 \
  bash /path/to/ubersdr/websdr_sv1btl/check-after-update.sh

P.S. There is already an update of my repo, so you can try the 1st option!...
#13
UberSDR / Re: Updated Twente-like WebSDR...
Last post by Bas ON5HB - Oct 13, 2026, 03:45 PM
Nice! Installed it.
#14
PhantomSDR / Upgrade to v.5.1.0
Last post by Emmanuel SV1BTL - Oct 11, 2026, 09:47 AM
What's new in v.5.1.0

  • An FLDIGI window with five more modes. The decoder that used to be called RTTY is now FLDIGI — button and dropdown entry — and besides RTTY, SITOR, PSK31, Olivia, Packet and APRS it decodes DominoEX, THOR, THROB / THROBX, Hellschreiber and MT63, all in the listener's browser, with no fldigi installed anywhere. MFSK16/32/64 have their own entry, right after Olivia. Each new mode is a port of fldigi's own receiver, checked against real fldigi recordings of every sub-mode (DominoEX 4–22, THOR 4–100 including the K=15 modes, THROB and THROBX 1/2/4, all seven Hell modes, MT63-500/1000/2000 short and long). Hellschreiber is shown as the picture it is — two copies of every line, as fldigi paints it — and can be saved as a PNG; every other new mode has its own Mode list and a squelch measured to print nothing from two minutes of noise. See docs/DECODERS.md.
  • Packet (AX.25) and APRS, with a live map. 1200 Bd VHF/UHF packet (the receiver goes to FM on the channel) and 300 Bd HF packet; every frame is checked before it is printed. APRS positions, weather, messages, objects and telemetry come out as plain text, and every station heard with a position appears on an OpenStreetMap map under the text, with tracks, distance and bearing from the receiver. The mouse wheel gains a 12.5 kHz step for the VHF channel grid.
  • A frequency marker starts its decoder. A markers.json entry whose mode is a digital mode — FT8, FT4, FT2, JS8, WSPR, SSTV, FAX, NAVTEX, RTTY, PSK31, OLIVIA, MFSK, DOMINOEX, THOR, THROB, HELL, MT63, PACKET, APRS and more — tunes to it and starts that decoder in one click.
  • A station wizard, and every installer question first. configure-station.sh asks about the receiver, band, station and ports once, keeps the answers in station.conf, and writes the .toml, site_information.json and relay config from them, so they can no longer disagree. All four installers start with it and then run unattended. New stations use one public port (9000, proxy.py) with everything else on loopback behind it; changing a port later is one command that carries the change everywhere and puts it into service.
  • https:// alongside http://. setup-https.sh (or one more wizard question) puts Caddy on port 443 with a Let's Encrypt certificate that renews itself; the http address keeps working for websdr.org, Kiwi clients and http-only partners.
  • update.sh without GitHub, and without questions. ./update.sh --from takes the new version from a folder, .tar.gz or .zip — a USB stick, for a station without a direct connection. Each release ships the fingerprint of every file ever published, so a first update recognises old files as old and asks only about real local edits.
  • Where the project comes from. The version line on the receiver page and on /mobile reads "original from github.com/sv1btl/PhantomSDR-Plus", kept by the additional terms of the GPL; the installers, update.sh and the admin panel say so when a copy comes from a fork.
  • AGC like a transceiver. Fast, Medium and Slow are now real AGC timings inside the server, for each listener separately: Fast recovers in about 0.3 s, Medium holds 0.25 s and recovers in 1.2 s, Slow holds 1 s and recovers in 3 s; Auto is the receiver's own AGC as before. All four give the same loudness — measured on air within 0.6 dB — and differ only in what happens between words and after a strong station stops. While a decoder is open the AGC is held on Slow for it, and a Slow (decoder) note beside the AGC heading says so. Needs the new backend: ./recompile.sh --both and a restart. See docs/USER_GUIDE.md.
  • A new waterfall Auto Adj. — automatic brightness and contrast. It measures the noise floor across the visible span, turns it into an even dark background and lifts weak signals above it, the same with every colour map; the spectrum trace keeps its true dB scale.
  • Documentation: a new Appendix — every command a sysop types, each linked to the page that explains it — closes the offline PDFs, now 18 chapters in each of seven languages. The page gains a Website button beside the GitHub link, and 💾 Desktop applications opens the download page on the website.
  • Fixes: chat counts characters, not bytes, so Greek and Cyrillic messages get the full 200 characters, and never cuts a letter in half; the admin panel's Users and Chat pages cover every receiver; the 2 m modes follow the IARU Region 1 band plan (FM from 144.794 MHz, so APRS 144.800 opens in FM).

The website is also updated: https://phantomsdr.psychomed.gr/index.html

Live Demo: https://phantomsdr.no-ip.org/ and/or http://phantomsdr.no-ip.org:8900/
Download: https://github.com/sv1btl/PhantomSDR-Plus
#15
UberSDR / Updated Twente-like WebSDR GUI
Last post by Emmanuel SV1BTL - Oct 11, 2026, 09:28 AM
Please take a look at the screenshots or, even better, visit the website (http://sv1btlham.no-ip.org:8901/). The display now adapts to any monitor size.

I didn't intend to replace the main theme for UberSDR itself, but rather just the one used for the Twente WebSDR emulation, since the original option from the repo didn't satisfy me—or my end users—at all. So, I created a new theme that I hope will be more satisfactory.

In my opinion, however, the most important aspect is the integration of all (or nearly all) decoders into the new theme, ensuring that all the tools remain fully functional within it.

Installation Guide: http://sv1btlham.no-ip.org:8901/sv1btl/readme.html

Download and install: https://github.com/sv1btl/WebSDR-emulation-for-UberSDR

#16
General Discussion / NTP-servers that have AUX-cloc...
Last post by Bas ON5HB - Oct 08, 2026, 03:39 PM
Hi all,

Don't know if you know it, but I have been testing with the NTP-servers from Centerclick, they are amazing little boxes and pretty cheap too.
They are great to have your own time-source to set your systems on time for FT-8, WSPR, etc.

But Dave has created the 3xx series and those are very good for not only time, but also have a PPS-controlled clock output.
1KHz upto 10MHz.

https://centerclick.com/ntp/

And let the RX888MK2 just have an input for 10MHz to be more Hz-accurate ;)

Also they run on any voltage from 9-24V DC.
Compared to other NTP servers that have this function and that runs 100% standalone, no app or fancy program needed.

I'm using the 390 only for NTP purposes, but if you plan on injecting a PPS-controlled-clock, these boxes can do that.

They require nothing special, connect power, connect 100Mbit, connect AUX and powersupply, that's it ;D

Live-demo of the 390 here: https://ntp-demo7.centerclick.com/
#17
PhantomSDR / Re: Multisticks use
Last post by Emmanuel SV1BTL - Oct 07, 2026, 10:10 PM
Quote from: DenBOZ on Oct 07, 2026, 09:33 PMIs there a way to configure or adjust the RTLSDR gain via the configuration file, or is modifying the startup script (rtl sdr -g <value>) the standard way to handle gain control in this setup?

Version 5.0.0
Yes, you can adjust the values, and I'll think how to make it as a command script for these adjustments. For now, I'll show you my inputs:



File: PhantomSDR-Plus/instances/vhf/instance.env

RX_ARGS="-f 145000000 -s 2400000 -g 29.7 -" (the receiving gain)



and File: PhantomSDR-Plus/instances/vhf/config.toml (for adjusting the analog and digital smeters - the adjustments made in my instance with a signal generator, keeping IARU settings for VHF S9 = 91 dbm, and with RTL gain 29.7)

[input]
sps=2400000 # Input Sample Rate — must match -s in instance.env
fft_size=131072 # FFT bins
brightness_offset=-15 # Waterfall brightness offset. Reduce to negative if you see black regions in the waterfall
frequency=144999630 # Baseband frequency: the stick tunes 145000000 (-f in instance.env); 370 Hz lower here corrects its crystal (measured on 144.300.000)
signal="iq" # real or iq
fft_threads=2
accelerator="none" # Accelerator: none, cuda, opencl
audio_sps=12000 # Audio Sample Rate
audio_compression="flac" # flac or opus
smeter_offset=-38            # digital bar: lower = more negative (was -2)
analog_smeter_offset=-55    # analog needle + dBm/dBµV figures: lower = more negative
waterfall_size=1024
waterfall_compression="zstd"



Restart ONLY VHF, using this:

cd ~/PhantomSDR-Plus
INSTANCE=vhf ./start-rtl.sh


#18
PhantomSDR / Re: Multisticks use
Last post by DenBOZ - Oct 07, 2026, 09:33 PM
Hi

I am setting up PhantomSDR-Plus with rtl dongles and its using the stdin driver (name="stdin"), where the data is piped in via an external rtl sdr command.

I noticed that the gain setting isn't present in the config rtl.toml file. Since it runs via a piped stream, it seems fixed to whatever g flag is passed in the startup script.

Is there a way to configure or adjust the RTLSDR gain via the configuration file, or is modifying the startup script (rtl sdr -g <value>) the standard way to handle gain control in this setup?
Thanks for your help!
#19
FernSDR / Re: GUI issues.
Last post by Bas ON5HB - Oct 07, 2026, 06:18 PM
Quote from: magicint1337 on Oct 06, 2026, 05:27 PMThanks Bas.
I noted this for the 0.1.3:
LSB/USB and CW-L/CW swapped, the display says Hz instead of MHz, and "h" works when typing (3630 = kHz, 3.63 = MHz already worked)
Well yes an no, it sort of a hit and miss.

Better make it consistent in KHz, as people are used to type freq's in KHz, and let them use H(ertz) and M(Hz) when token is added, without always KHz.

As for CW, I'm not an expert in that mode, so I do not know what CW-L is. My TS-890 has only CW and CW-R whatever that means ;D
#20
FernSDR / Re: FernSDR: what I learned fr...
Last post by Bas ON5HB - Oct 07, 2026, 06:14 PM
Hi Manolis,

I don't have it running 24/7, just testing at this stage.

I suggest you install it yourself, it's not hard, then you learn about the back-office as it's quite different.

For now it works but has many quirks that need to be solved.
However, it does support a lot of SDR's, even the RTL's.
Powered by EzPortal