WPSD (“WPSD Plausibly Stands for Divergence”) is a next-generation, digital voice software suite for amateur radio use. It is used for personal hotspots and repeaters alike. It supports M17, DMR, D-Star, Yaesu System Fusion (YSF/C4FM), P25, NXDN digital voice modes & POCSAG data/paging.
WPSD began as a derivative (“fork”) of, and has greatly-diverged from, the very popular Pi-Star software; and WPSD has evolved into its very own software suite and distribution. It is available as an installable disk image(s), and multiple platforms are supported. The WPSD Project is free and open-source software (FOSS).
Table of Contents:
- Read The FAQs.
- Ensure you read about any known issues and incompatibilities.
- Read the official WPSD User Manual (Note: this is new’ish and is a work-in-progress. Contributors welcome!)
- Before you ask for help, read how to properly ask for help.
- Some really great users, fans and contributors of WPSD have setup a Facebook Group and a Discord Server to get community support, etc. These are the only official online support mediums for my software.
- Do NOT ask for for WPSD support in any official or unofficial Pi-Star support page/group/forum/medium/etc. WPSD is not the original Pi-Star software written by Andy Taylor (MW0MWZ)!
Eis the WPSD Chat Module. A direct DMR conference to this module/room is bridged with BrandMeister; simply call TalkGroup
KE0FHS, has written comprehensive documentation and notes on Pi-Star and Digital Voice; and much of it is still relevant to WPSD.
Choose the disk installation image that was created for your hardware…
- Raspberry Pi Disk Image (for RPi Zero, Zero 2 and Models 2, 3, 4, etc.):
- Orange Pi Zero Disk Image:
- Nano Pi Neo Disk Image:
- ZUMSpot Mini 1.3 Disk Image:
This is the official and custom-built disk image specific to the ZUMspot Mini 1.3 Hotspot.
- ZUMSpot Elite 3.5 Disk Image:
This is the official and custom-built disk image specific to the ZUMspot Elite 3.5 Hotspot.
- ZUMSpot USB Stick Disk Image:
This is the official and custom-built disk image specific to the ZUMspot USB Stick Hotspot for use on a Raspberry Pi. A Raspberry Pi computer is required.
- DVMEGA EuroNode Disk Image:
This is the official and custom-built disk image specific to the DVMEGA EuroNode Hotspot.
- BridgeCom SkyBridge MAX/Plus Disk Image:
This is the official and custom-built disk image specific to the newer SkyBridge MAX and older SkyBridge Plus Hotspots.
You will need an SD card of at least 8GB to install these disk images.
SHA-256 Checksums for the Disk Image Files:
The setup of the WPSD disk image is similar to that of Pi-Star’s:
Download the disk image.
Optional: Use my WPA Config File Generator to automatically connect the dashboard to your WiFi…
Otherwise: After about 5+ minutes post-bootup, you can connect to the “
Pi-Star-Setup” WiFi network to login to the dashboard and configure your hotspot after it’s booted…
Insert the SD-Card into your hotspot and bootup!
The default login is;
Important Info for First Bootup:
- When first booting from the WPSD disk image, go grab a coffee, drink, etc. and let the file-system auto-expand and the rest of the system initialize. Be patient. Full details on this can be found in a dedicated article.
- When installing from the WPSD disk image, it’s a best practice (and better) to run an update before setting up or making configuration changes to your hotspot. This ensures that setup/configuration changes you make are the most tested and up-to-date.
Once you install WPSD, it will automatically be kept up-to-date with any new features/versions/etc. This is made possible via the native, nightly updating process.1
If you do not leave your hotspot powered on during the night, you can also
manually invoke the update process via the dashboard admin section (
Admin -> Update).
It is highly recommended that you simply leave your hotspot(s) powered on at night, since WPSD is rolling release/continuous delivery software - updates are rapid and frequent!
Although WPSD began as a derivative of the original Pi-Star software and shares some minor similarities, WPSD is vastly different and is its own software. Expect to learn about these differences and nuances to become familiar with WPSD…
The following lists describe the features, enhancements and omissions as compared to the original Pi-Star software…
Note that this is not an exhaustive list.
- Full APRSGateway Support: Selectable APRS Data Sharing with specific modes.
- Full DGId Support.
- “Live Caller” screen; similar to a “virtual Nextion screen”; displays current caller information in real-time.
- Current/Last Caller Details on Main Dashboard (name/location, when available).
- Talkgroup Names display in target fields (Brandmeister DMR, NXDN and P25 support only).
- YSF/NXDN/P25/M17 link managers gives the ability to change links/rooms/reflectors/TGs on-the-fly, rather than going through the configuration page.
- DMR Network Manager allows instant disabling/enabling of configured DMR networks/masters; and fast switching of XLX reflectors and modules. Handy for “pausing” busy networks, talkgroups, timeslots, etc.
- Full M17 Protocol Support. (See M17 Notes below…)
- BrandMeister Manager revamps galore:
- Now displays connected actual talk group names.
- Connected dynamic talk groups now display idle-timeout time (due to no TX).
- Added ability to mass-drop your static talk groups; and mass re-add the previously linked static talk groups.
- Added ability to batch add/delete up to 10 static talk groups at a time.
- “Instant Mode Manager” added to admin page; allows you to instantly pause or resume selected radio modes. Handy for attending nets, quieting a busy mode, to temporarily eliminate “mode monopolization”, etc.
- “System Manager” added to admin page; allows you to instantly:
- Disable / Enable OS Firewall (habdy if you are already behind a good one).
- Disable / Enable Cron, in order to prevent updates and WPSD services restarting during middle-of-the-night/early AM operation.
- Ability to configure POCSAG hang-time from the config page.
- Native Nextion screen support built-in; no futzing around with Nextion drivers/scripts.
- Selectable DMR Roaming Beacon Support: Network or Interval Mode (or disabled) - for actual repeaters only.
- Updated user interface elements galore, styling, wider, bigger, updated fonts, etc.
- Optional “Simple View”; shows only activity: no mode status, hardware status, etc. Just activity data. Accessed via
- Country-of-origin flags for callsigns.
- Improved and graphical CSS/color styling configuration page; easily change the look and feel of the dashboard.
- User-Configurable number of displayed Last Heard dashboard rows (defaults to 40, and 100 is the maximum).
- User-Configurable font size for most of the pertinent dashboard information.
- Reorganized and sectioned configuration page for better usability.
- System process status reorganized into clean grid pattern, with more core service status being displayed.
- User-Configurable 24 or 12 hour time display across the dashboard.
- Connected FCS and YSF reflector names and numerical ID both displayed in dashboard left panel.
- Additional hardware, radio and system information displayed in top header; which can be toggled.
- Admin page split up into logical sub-sections/sub-pages, in order to present
better feedback messages when making changes.
- Note: Last-Heard and other dynamic tables are hidden in the admin sections by default, allowing users to focus on the tasks-at-hand and their outputs. The Last-Heard data can be toggled in these areas, however.
- DSTARrepeater mode/controller type removed: WPSD operates in the more modern and updated/supported MMDVM mode only, and the legacy DSTARrepeater functionality is gone. You can still run WPSD as a D-Star hotspot/repeater, of course.
- Upgrade notice/nag in header (unnecessary and a hacky implementation). This has been replaced by my own unobtrusive and configurable dashboard update notifier; displayed in the upper-right hand side of the top header.
- “Upgrade” feature via the dashboard and command line (
pistar-upgrade) is removed. The “Update” feature via the dashboard and command line (
wpsd-update) takes care of all upgrades/updates.
BannerH2(etc.) text options have been removed (added clutter and I never used it). Instead, the hostname is displayed in the browser title.
- “GPS” link in Call Sign column of dashboard (superfluous and unreliable).
- CPU Temp. in header; when CPU is running “cool” or “normal” recommended temps, the cell background is no longer colored green. Only when the CPU is running beyond recommended temps, is the cell colored orange or red.
- No reboot/shutdown nag screen/warning from admin page (Superfluous; you click it, it will reboot/shutdown without warning.).
- Yellow DMR Mode cell in left panel when there’s a DMR network password/login issue (poor/inaccurate and taxing implementation, and can confuse power users that utilize my Instant Mode Manager, where the default cell is amber colored for paused modes [color is user-configurable].). Instead, the actual network name is highlighted in red when there’s a login issue.
Not all pages shown here. Note, that you can customize the colors to your preferences…
M17 protocol support requires updated MMDVM Modem Firmware or MMDVM_HS HotSpot Firmware of at least v1.6. Ergo, you may need to update your firmware using the included MMDVM_HS (etc.) firmware flash/update programs in WPSD.
- Raspberry Pi Zero-W, v1.x (1st Gen., single-core CPU)
If you have a first-generation Raspberry Pi Zero2 (Pi Zero (W) Rev.1.1
armv6l) with the single-core processor*, and have installed the RPi WPSD disk image, you need to do a couple of things before you can access it:
- Install a WiFi config file before you boot the image, or connect it to Ethernet. Network connectivity is required for first boot-up.
- Let the image boot and configure for about 30 minutes, otherwise you will not be able to access the dashboard.
If you fail to do these things, you will get a “502 Bad Gateway” error when attempting to access the dashboard.
If 30 minutes passes, and you still cannot access the dashboard, simply SSH into the hotspot and run:
* Note: The official ZUMSpot Mini 1.3 Disk Image (below) does not have this issue, since I built the disk image for that specific hardware.
- TGIF Spots with Nextion Displays
WPSD disk image installations do work, however, you may lose some of the superfluous TGIF Spot Nextion Display functionality. If you install WPSD on TGIF Spots with Nextion displays, and the displays don’t work the way you want, don’t complain about it or ask us about it; as their strange software hacks3 are not a part of WPSD.
You can always load a different and stable Nextion layout file which requires no software hacks, however. But you’re on your own with these hotspot displays.
- Restoring and/or Using Configurations/Settings from “OG” Pi-Star Software
Because WPSD uses much more modern and updated backend software, configuration backup/restores from the original Pi-Star software is incompatible for the most part, and is unsupported. It is always recommended that you use an appropriate WPSD disk image for your hardware, and setup/configure from scratch.
Displayed below, is a live ChangeLog, pulled from the source code repository upon page load. Displayed are the last 20 changes. For the full change history, you will want to browse the entire commit/change history.
67c47e55b3 - (19 minutes ago) * Minor: add user manual link to footer; update "Profile" button icon in navbar - Chipster (HEAD -> master)
admin/configure.php | 8 ++++----
css/pistar-css-mini.php | 39 ++++++++++++++++++++-------------------
css/pistar-css.php | 6 +++---
index.php | 2 +-
4 files changed, 28 insertions(+), 27 deletions(-)
f9f771b2b4 - (34 minutes ago) * Minor: cleanup and clarify verbiage on Profile Manager page - Chipster
admin/advanced/config_manager.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
7dcb03fd33 - (47 minutes ago) * Intermediate: "Configuration" button no longer in main dashboard navigation bar: is is now visible only in `Admin` page nabivation bar (one must go into admin page first). `Profile` button added to main dashboard navigation bar to allow users quick access to their profile management. Also, when in Admin page, navigation bar cleaned up to display only Admin-centric functions. - Chipster
admin/configure.php | 2 +-
css/pistar-css-mini.php | 9 +++++----
css/pistar-css.php | 19 +++++++++++++++----
includes/execute-background-tasks.php | 4 ++--
index.php | 18 +++++++++---------
5 files changed, 32 insertions(+), 20 deletions(-)
f3d7053560 - (25 hours ago) * Minor: more legacy backend code cleanups. - Chipster
mmdvmhost/bm_links.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
025357f196 - (25 hours ago) * Minor: update backend hostfile update calls to use new sbin util - Chipster
admin/advanced/fulledit_template.php | 2 +-
admin/advanced/services_exec.php | 2 +-
admin/config_backup.php | 2 +-
admin/system_api.php | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
3a6b733baf - (2 days ago) * Minor: update config page backend logic - Chipster
admin/configure.php | 52 ++++++++++++++++++++++++++++++++--------------------
1 file changed, 32 insertions(+), 20 deletions(-)
398b5c75c0 - (3 days ago) * Minor: fix amall bug for M17 station ID literals in config form - Chipster
admin/configure.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
ab1fefd364 - (4 days ago) * Minor: small tweaks to updater frontend & backend - Chipster
admin/update.php | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
98550d833d - (5 days ago) * Minor: UI and functionality imporovements to Admin/System Manager Page - Chipster
admin/system-manager.php | 31 +++++++++++++++++--------------
includes/system.php | 4 ++--
2 files changed, 19 insertions(+), 16 deletions(-)
cd6d86c945 - (6 days ago) * Minor: backend API helper improvements - Chipster
admin/system_api.php | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
api/index.php | 43 ++++++++++++++++++++++
api/last_heard.php | 32 ----------------
3 files changed, 145 insertions(+), 32 deletions(-)
cb34e3bc72 - (7 days ago) * Minor: Tweaked the DMR status timeslot panel to be more descriptive since it seemed to confuse some peeps. Now it... 1) shows TG with current traffic (always has) 2) Displays when there"s no current/recent traffc; "Enabled: No Traffic" 3) When a TG 4000 unlink is sent/RX"d, now displays "Enabled: Unlinked" - Chipster
mmdvmhost/functions.php | 6 +++---
mmdvmhost/repeaterinfo.php | 22 +++++++++++-----------
2 files changed, 14 insertions(+), 14 deletions(-)
43712abd22 - (10 days ago) * Minor: improve Wifi network scan func. in config page a tad - Chipster
admin/wifi.php | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
3641b0dcf3 - (10 days ago) * Minor: add staus header to update page output - Chipster
admin/update.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
ee1cce45f7 - (10 days ago) * Minor: config page - make save/apply status more clear - Chipster
admin/configure.php | 2 +-
css/pistar-css.php | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
269a2b6e34 - (11 days ago) * Minor: update config page verbiage and admonitions - Chipster
admin/configure.php | 32 ++++++++++++++------------------
1 file changed, 14 insertions(+), 18 deletions(-)
d7bdc89bbd - (11 days ago) * Minor: Merge branch "M7DHQ-fix-select2-resets" - Chipster
f3aa43757f - (11 days ago) When settings reset re-init select2 - Simon Prosser
admin/configure.php | 4 ++++
1 file changed, 4 insertions(+)
a43995e59b - (11 days ago) * Minor: added part II of config page save/apply: "Revert Changes" - Chipster
admin/configure.php | 91 ++++++++++++++++++++++++++++++++++-------------------
css/pistar-css.php | 35 ++++++++++++++++-----
2 files changed, 85 insertions(+), 41 deletions(-)
c40f7591c2 - (11 days ago) * Minor: tweak config apply changes banner a bit more - Chipster
admin/configure.php | 1 +
css/pistar-css.php | 1 +
2 files changed, 2 insertions(+)
10cc26fa1b - (11 days ago) * Minor: Fix config pg. typo & tweak new config page "Apply Changes" floating banner some more - Chipster
admin/configure.php | 4 ++--
css/pistar-css.php | 11 ++++++-----
2 files changed, 8 insertions(+), 7 deletions(-)
WPSD used to be a one-man show (me), but many people have contributed code, etc. to the project, and we now have an official core dev. team. Thank you all! With the exponential growth, doing this alone would have sucked. I am grateful for all of you!
Of course, lots of credit goes to the venerable and skilled, Andy Taylor,
MW0MWZ, for creating the wonderful Pi-Star software in the first place.
The USA callsign lookup fallback function uses a terrific API,
callook.info, provided by Josh Dick,
The callsign-to-country flag GeoLookup code was adopted from
xlxd… authored by Jean-Luc Deltombe,
LX3JL; and Luc Engelmann,
LX1IQ. I run an XLX(d)
reflector, plus, I was able to adopt some of its code
for WPSD, ergo, I am very grateful.
The excellent country flag images are courtesy of Hampus Joakim
A big “thank you” goes to the amazing people/devs/sysadmins from the wonderful M17 Project for hosting the WPSD disk image mirror server!
Credit must also be given to to Kim Heinz Hübel;
DG9VH, and Hans-Juergen
DL5DI, both of whom arguably created the very first MMDVM and
ircDDBGateway dashboards (respectively); of which, spawned the entire Pi-Star
So much credit goes toward the venerable José Uribe (“Andy”),
CA6JAU, for his
amazing work and providing the game-changing
MMDVM_HS hotspot firmware suite,
as well as his
MMDVM_CM cross-mode suite.
Lastly, but certainly not least; I owe an enormous amount of gratitude toward
a true gentleman, scholar and incredibly talented hacker…Jonathan Naylor,
G4KLX; for the suite of MMDVM and related client tools. WPSD would have
no reason to exist, without Jonathan’s incredible and prolific contributions
and gifts to the ham community.
When WPSD was first released in late 2020, I named it “
since it was a major fork to the popular Pi-Star software (the “OG Red
Over time, the project diverged and evolved exponentially from its humble
beginnings. During this time, I, as well as other users simply called the
software “WPSD” as an acronym, or shorthand for “
However, more time had passed, and the popularity plus the user install base had increased exponentially. This growth in popularity also garnered WPSD contributors, developers, volunteers and fans. By this time, many were already calling the software “WPSD”, so it stuck.
At the same token, the developers/volunteers and I had agreed that since the software is now truly its own; and that removing “Pi-Star” references from code, “branding”, etc. would behoove the project (and the users). By removing the old Pi-Star references, we thought that it would be fair to the original Pi-Star project, and help users understand that WPSD is in fact, very, very different.
Of course. WPSD is a now a recursive acronym! 😆
So, here we are today - WPSD is the name of the software suite and project. And WPSD is a completely and deliberately different acronym from what it started as; it is now a much-adorned recursive acronym:
WPSD = WPSD Plausibly Stands for Divergence
That’s right; WPSD stands for “WPSD Plausibly Stands for Divergence”. With the Keyword being ‘divergence’, because the project has, and continues to diverge, improve, and evolve from the “OG Red Software”.
WPSD occasionally queries our servers in order to determine if updates are available. Additionally, every WPSD installation has a unique UUID for each device; used for web/repo-traffic capacity planning/analytics, as well as for troubleshooting user issues and bugs. This data is used internally, exclusively; and is not shared. If you do not want this data collected, simply do not install or use WPSD. The UUID is derived from the devices’ unique processor serial number found in
WPSD was not created for single-core and low-powered hardware; such as the first generation RPi Zero, etc. (
armv6l). The dashboard will run slowly on under-powered hardware at times. Please consider yourself warned. Also, please ignore all of the hams on various support mediums saying, “anything more than a Pi Zero is overkill”. These ignoramuses have no idea what goes on under the hood in order to display meaningful info on the dashboard. Hint: it’s a lot, and it’s very resource-intensive. Ignore them…they have no idea what they are talking about. ↲
TGIFspots with Nextion displays are shipped with customizations; and this custom code is what makes some of the superflous functions of the TGIFspot displays operate the way they do. These customizations are not a part of, nor are they supported with WPSD; as some of it replaces and/or modifies core and crucial system software. ↲