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

Upgrade to v.5.5.0 (final)

Started by Emmanuel SV1BTL, Nov 08, 2026, 09:24 AM

Previous topic - Next topic

Emmanuel SV1BTL

PhantomSDR-Plus 5.5.0, released November 3rd, 2026.

  • A volume slider that goes all the way down. 0 % is now real silence (it used to stay audible), and below the middle the slider fades out smoothly with fine steps at low levels; from 50 % up it sounds exactly as before. The slider remembers where each listener left it, on the desktop page and on /mobile.
  • A start volume for each receiver. The sysop sets the volume a first-time listener starts at — **AT VOLUME** on the admin Receivers page, or `volume = 10` under `[input.defaults]` in the receiver's config; without it the page starts at 50 %. A returning listener keeps their own setting.
  • Receivers page in the admin panel. **CHANGE SETTINGS** on every receiver: band, bandwidth, start frequency, mode and button name on extra receivers; button name, start frequency and mode on the main and direct-sampling ones; a change of name alone restarts nothing. The receiver's **gain** is in the same form — RX888 VGA gain, low/high mode, attenuation and PGA, RTL-SDR RF gain or auto — kept in `instances/<id>/instance.env`, or in the new `main.env` for the main receiver, which every `start-*.sh` reads and `update.sh` never overwrites. **STOP / START** for each receiver, **RENAME BUTTON**, and **DELETE** for extra receivers (with a type-the-name confirmation; its folder goes to `admin-backups/`). `proxy.py` picks up a changed `receivers.toml` by itself, and the listener pages see a restarted receiver within 15 s. See [docs/ADMIN_PANEL_SETUP.md](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/ADMIN_PANEL_SETUP.md).
  • The admin panel on a phone or tablet. The menu opens from **MENU** in the bottom bar, tables turn into one card per row and forms into one column, so every page can be used on a small screen.
  • Settings shows the station's ports — every port in use, whether it is listening and which ones the router has to forward — and the first-run wizard asks only for the admin password.
  • Fixes. The admin panel, `proxy.py`, `add-receiver.sh`, `start-all.sh` and `configure-station.sh` read their TOML files on Python 3.10 too (Receivers → Add gave HTTP 500 there); a receiver started by systemd at boot now finds Node installed through nvm, so DRM works after a reboot; the installers name the RADE V2 (beta) step next to RADE V1; **Mute** now silences decoded RADE V1 and V2 speech too, as it already did DRM; and **IQ** now feeds Dream and other DRM programs through a virtual cable — it used to keep the previous mode's voice filters, which cut away the outer part of a DRM signal, so they never locked.
  • A smoother zoom slider. The **Zoom** slider has 20 steps instead of 8, all zooming by the same factor, from the whole receiver at ×1 to a few kHz at ×20 — the old ×2 already jumped 64 times closer on a 30 MHz receiver.
  • Callsign-only searches. The FT8, FT4 and JS8 map buttons, the WSPR log and the QRZ link in Additional Info search for the station's callsign alone, also when the site information shows the sysop as "Name, CALL"; an optional `"siteCallsign"` in `site_information.json` sets it explicitly.
  • A band propagation page. **🌐 Propagation** in Additional Info opens the band conditions for the receiver's own location: every band from 160 m to 6 m graded Good, Fair, Poor or Closed for five distances, from the nearest ionosondes' live measurements, the position of the sun and the solar and geomagnetic data, on a 3D globe you can spin and tilt (or a flat map): band-reach rings for every open band, worked out direction by direction (skip zone and farthest reach, or one band filled on its own), the MUF and foF2 contours, the greyline and every ionosonde reporting now, worldwide. The server keeps a 10-minute copy of the ionosonde data at `/propagation.json`. See the [User Guide](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/USER_GUIDE.md#band-propagation).
  • Wider IQ: 24 and 48 kHz. Besides the 12 kHz IQ, a station can offer 24 and 48 kHz: **Width** in the IQ Demodulators panel picks it, and the waterfall passband, the panel's picture, the demodulators and IQ recordings follow. 48 kHz takes in a whole group of broadcast stations or a CW/digital sub-band, and feeds Dream at 48 kHz through a virtual cable. It costs the station about 0.7 Mbit/s per listener at 24 kHz and 1.4 Mbit/s at 48 kHz, so it is off until the sysop adds `iq_wide = 48` (or 24) under `[server]`, with `iq_wide_listeners` (default 4) limiting how many listeners have it at once. It works with every receiver; KiwiSDR clients stay at 12 kHz. See the [User Guide](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/USER_GUIDE.md#wider-iq-24-and-48-khz).
  • A signal strength plot. **Plotter** under Recording Options draws the S-meter's dBm reading as a running graph over the last 10, 30 or 60 seconds (**Fast / Medium / Slow**), with S-units and dBm scales, the peak of the span, a mark at every retune, pause and a PNG save — for watching fading or comparing antennas. See the [User Guide](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/USER_GUIDE.md#signal-strength-plot).
  • A tighter To Band. **To Band** now leaves 5 kHz to spare at each band edge instead of 10 kHz, and so does everything that frames a band like To Band: **Tune** in the Users window, the decoders' frequency lists, a FreeDV Reporter click and a frequency link in the chat.
  • More FLDIGI modes: PSK63, PSK125, QPSK and Contestia. The PSK31 variant has a **Mode** list — BPSK31, BPSK63, BPSK125, QPSK31, QPSK63 and QPSK125 — and the Olivia variant lists the Contestia configurations (8 / 250, 4 / 125, 4 / 250 and the rest) under its own heading. Every mode was checked against real recordings. Olivia and Contestia no longer print a burst of random characters when a transmission ends. Frequency markers `PSK63`, `PSK125`, `QPSK31`/`63`/`125` and `CONTESTIA` start the right decoder and sub-mode. See [docs/DECODERS.md](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/DECODERS.md).
  • SERVICES: DSC, Time Signals and HF Selcall. The **HFDL** button is now **SERVICES**, with a **Service** list in its window: **HFDL** as before; **DSC**, the GMDSS calls of ships and coast stations (distress, urgency, safety and routine, with MMSI country, position and working frequency); **Time Signals** from DCF77, MSF, RWM and WWV/WWVH — date, time, DUT1, the time in the receiver's own zone (from its QTH locator) and how late the minute mark reached the page; and **HF Selcall** (CCIR 493-4), the selective calls of Codan, Barrett and other HF networks. Frequency markers `DSC`, `TIME`, `DCF77`, `MSF`, `RWM`, `WWV`, `WWVH` and `SELCALL` start them. See [docs/DECODERS.md](https://github.com/sv1btl/PhantomSDR-Plus/blob/main/docs/DECODERS.md).
  • Utility modes move to SERVICES. **Maritime FSK / SITOR** and **Weather RTTY** left the FLDIGI window and are in the **SERVICES** list, between HFDL and DSC, with the same decoder and settings. **ALE 2G** is split in two: FLDIGI's **ALE 2G HAM** has the amateur HFLINK channels, and SERVICES' **ALE 2G (MIL-STD-188-141)** the government, military (MARS among them) and utility networks. `SITOR` and `RTTY-WX` markers open SERVICES; an `ALE` marker opens FLDIGI on an HFLINK channel and SERVICES on any other. The Users window shows them as SITOR, RTTY-WX and ALE.
  • New in the FLDIGI window: ALE 2G, FST4W, MSK144 and PSK Browser. **ALE 2G HAM** (MIL-STD-188-141), just before Packet in the variant list, lists the soundings, calls and messages of the 31 HFLINK amateur ALE channels; the other public network lists are in SERVICES. **FST4W** decodes the WSJT-X beacons of 2200 m, 630 m and 160 m, one UTC period of 2 to 30 minutes at a time, down to about −31 dB (a real 30-minute signal decoded at −44 dB). **MSK144** decodes WSJT-X meteor scatter pings on 6 m and 2 m. **PSK Browser** (the Browser — all signals knob under the PSK31 Mode list) decodes every BPSK31 signal in the passband at once, one line each; click one to follow it. **Olivia Browser** (Browser — all signals, under the Olivia Mode list) does the same for every Olivia or Contestia station of the chosen configuration, also below the noise. Markers `ALE`, `FST4W` and `MSK144` start them.
  • CW Browser. Switch on the **Browser — all signals** knob in the CW window and every CW signal between 200 and 3000 Hz is decoded at once, one line each, with its frequency, speed and the station's callsign (CQ calls in green); a click hands a station to the normal CW decoder. The receiver is held on USB 200–3000 Hz while it runs and goes back to your own mode afterwards. In all three browsers (PSK, Olivia, CW) each line now keeps 4000 characters and gets its own scroll bar once it holds more than six lines, and **Save** writes every line, also the ones already dropped; the CW window has a **Save** button too. The keying sidebands of a strong station no longer show up as extra CW Browser lines.
  • Video recordings show where you were tuned. A video from Recording Options → Video carries the tuner's yellow marks: dotted yellow lines at the tuned frequency and the passband edges, through the spectrum and the waterfall, and the bracket across the top.
  • DRM panel with long locators. A station with an 8- or 10-character grid locator now gets the "beamed at this station" group and the distance ranking in the DRM selector.
  • Documentation: the Admin Panel, Several Receivers, Decoders, User Guide and Project Structure manuals cover all of the above in all seven languages, and the offline PDFs are rebuilt.

Updating an existing station:
`bash update.sh` shows what would change and asks whether to update now. This release changes the server program, so the updater rebuilds both the server and the web page; it never restarts anything, so afterwards restart the receivers (`./start-all.sh`, or your own start script on a one-receiver station), the admin panel (`sudo systemctl restart phantomsdr-admin`) and the proxy (`sudo systemctl restart phantomsdr-proxy`). To install exactly this version: `bash update.sh --apply --ref v5.5.0`.


Github: https://github.com/sv1btl/PhantomSDR-Plus
Live Demo: https://phantomsdr.no-ip.org
🎬 Video tutorial (5.5.0, 22 minutes, subtitles in seven languages):
 

Emmanuel SV1BTL

#1
A file drop over an existing PhantomSDR-Plus 5.5.0 installation (the update of 11 November 2026). Everything in update/ keeps the path it has in the repository, so unpacking it on top of your tree puts each file where it belongs.

It adds one feature, the EiBi window: an "EiBi" button next to SW that searches the worldwide shortwave schedule and tunes a station with one click (see section 3). It carries the web page's source (App.svelte, waterfall.js and three components), so the web page has to be rebuilt, and the updated documentation (see the end of section 3). Nothing in the server program changed: no receiver, proxy or admin panel restart is needed.
It carries no receiver configs, no site settings and no marker lists. Your config*.toml, site_information.json, mymarkers.json and markers.json are not touched.

Please run:
cd ~/PhantomSDR-Plus
  bash update.sh

It shows what would change and asks "Update these files now?" — answer y. It then rebuilds the web page by itself (a few minutes, it asks nothing). No restart is needed afterwards.
Then fetch the schedule once, so the window has data straight away (afterwards it refreshes by itself, see section 3): https://github.com/sv1btl/PhantomSDR-Plus/blob/main/frequencylist/README.md
 
./frequencylist/update-eibi.sh
Listeners who have the page open get the EiBi button when they reload it.

Emmanuel SV1BTL

#2
Two new addons for the existing v.5.5.0

- The NAVAL RTTY (under Services)

- The visual-impairment-persons friendly tool, which can read the whole GUI using popular screen readers. Please open the .jpg file to see tested screen readers.

You can only unzip these files and recompile only frontend: https://www.dropbox.com/scl/fi/r6n5xtqm9jxrao2u0yh0p/update.zip?rlkey=7u8aejhr1i63ttm45gy18bg9o&st=tkcp7q74&dl=0

Or as usual you can update from the repo:
cd ~/PhantomSDR-Plus
bash update.sh



Emmanuel SV1BTL

#3
I have designed the scheduling system for PSK & WSPR spotting. Everything is now configured and managed directly through the Admin Panel, with each band and mode having its own independent 24-hour schedule, configurable on an hourly basis.

I believe the new implementation is highly functional, intuitive, and easy to configure. I have just completed the development and am currently testing it.

There is a new .zip file, including ALL the newer addons for v. 5.5.0

These include:

- EiBi Database Integration – Integration of the EiBi frequency database.
- NAVAL RTTY Decoder – Addition of the new NAVAL RTTY decoding functionality.
- GUI Accessibility Improvements – Modifications to the graphical user interface to ensure compatibility with screen readers, allowing blind and visually impaired users to navigate and operate the application through audio feedback.
- PSK & WSPR Spot Scheduling – Today's latest addition, introducing configurable scheduling for PSK and WSPR spotting operations through the Admin Panel.

Unzip, recompile Frontend, restart the Admin Panel with sudo systemctl restart phantomsdr-admin and you are ready!

No newer addons any more in this version. Everything newer will be as a new version.

Newer (final) zip: https://www.dropbox.com/scl/fi/t1zc795jbm4nh5bvckwkt/update.zip?rlkey=xma1iivbcfcdufo8mocy6bhzb&st=wcrhgemy&dl=0


Powered by EzPortal