Immutable release tag at source commit 3823140b9fd4…f62f5e. RC3 is published as a GitHub prerelease with the exact tested image and audit artifacts.
0.2.0-rc3 is the current physically tested factory-image release candidate.
The exact RC3 source and exact compressed factory image passed fresh-flash acceptance on the reference Raspberry Pi Zero W + MMDVM hotspot. RC3 is a substantial feature and hardening release: the DMR RX Monitor streaming path is now physically proven, runtime/plugin behavior is tighter, and the final WebUI integration work is in the published image.
The published ywd-hotspot-0.2.0-rc3.img.xz passed setup AP, Wi-Fi handoff, OLED setup, dashboard auth, RF/SSH factory policy, BrandMeister, duplex Parrot, reboot persistence and zero-failed-unit checks.
Persistent trusted audio streaming, AMBE49/FEC recovery, batched vocoder transport and a sandbox boundary that delivers PCM only. The optional external vocoder remains separately installed.
Demand-gated YWD Extended voice capability, current/legacy runtime classification, plugin feature-runtime reconciliation, settings-restore fixes and the normal RC2 → RC3 updater path were physically exercised.
Flash the tested appliance or grab the exact tagged source.
RC3 is the current published prerelease. The image below is the exact compressed factory artifact that passed fresh-flash acceptance; the source links point at the immutable tag used to build it.
Raspberry Pi Zero appliance image
Flash-ready Raspberry Pi OS Lite / trixie image for Pi Zero W / Zero WH + MMDVM. Factory state contains no operator credentials, keeps SSH and RF off, and uses the current YWD Extended runtime in the tested RC3 appliance path.
Exact RC3 source archive
Immutable source at commit 3823140b9fd4d6e73fe9066af4b2280628f62f5e, including the RC3 dashboard, streamed RX path, runtime hardening, updater, plugin framework, image builder and documentation.
What changed in RC3?
Physically proven DMR RX Monitor streaming, external vocoder boundary, demand-gated voice capability, current/legacy MMDVM runtime handling, plugin/runtime hardening, telemetry and restore fixes, software channels, MODEM inventory, and final WebUI polish.
DMR RX Monitor plugin + external vocoder backend
The separately distributed RX Monitor package and mbelib backend deployment archive live in the site's dedicated downloads area, along with a short install walkthrough.
Small Pi. Serious hotspot. Much sharper runtime boundaries.
RC3 keeps MMDVM-Host as the sole modem/RF owner while adding a physically proven receive-audio path, tighter demand-driven runtime behavior, better restore/update reconciliation, and a more complete dashboard without turning the Zero into a general-purpose server.
Simplex or duplex
Separate duplex RX/TX frequencies, TS1/TS2-aware routing, live RX/TX state, Last Heard, BER context and modem-reported RSSI only when the HAT supplies a usable value.
Static/dynamic talkgroup management, duplex-aware slot routing, Drop QSO controls and saved talkgroup sets, with RC3 acceptance covering real duplex Parrot operation.
Live receive audio now uses a persistent trusted local stream instead of repeated per-chunk HTTP decode requests. The sandboxed browser plugin receives PCM only.
The optional decoder backend is deliberately outside the hotspot/plugin package. mbelib/libmbe is not bundled, and normal DMR operation does not depend on the vocoder.
RC3 distinguishes current vs legacy YWD Extended identities and only enables the voice tap while an installed+enabled plugin actually demands read:dmr-voice.
RC3 adds the RF-style startup treatment, stage-aware Save / Save & Apply feedback, responsive toggles, software-channel management and a read-only modem/runtime inventory card.
The public image contains no operator secrets. RC3 improves first-boot .ywdsettings upload/verify/apply feedback and restores uploaded plugin registration plus trusted feature runtime state.
Optional dashboard-managed system access with unique server host keys on enable, no default SSH password, and no root/password SSH login.
Protected backups, rollback-aware deployment, safer feature-runtime reconciliation, preserved plugin intent and guarded software-channel switching without giving plugins RF TX or modem ownership.
The hotspot UI, without the beige appliance energy.
This website intentionally carries the same dark RF-console language as the hotspot dashboard: deep blue-black panels, cyan telemetry, magenta accents, tight monospace typography, and status-first cards.
Pi Zero first, not Pi Zero eventually.
The original Raspberry Pi Zero W remains the performance target. Browser presentation stays client-side; RC3 keeps bounded trusted stream/recovery work local while optional speech decoding remains isolated behind the external vocoder boundary.
Still built around cheap hardware that actually does the job.
RC3 was fresh-flash accepted on the reference original Pi Zero W + MMDVM appliance. The hardware baseline stays intentionally narrow even as the receive-audio and runtime layers get more capable.
Raspberry Pi Zero W / Zero WH
The original Zero W remains the public-image and performance target. RC3's exact factory artifact was physically exercised on this class of hardware before publication.
MMDVM_HS / JumboSpot style
Simplex and duplex configurations are supported with separate RX/TX frequencies and TS1/TS2 routing. RC3 acceptance included duplex TS1 and TS2 BrandMeister Parrot operation.
Current Extended or stock
YWD Extended remains the recommended/default runtime. RC3 adds exact current-versus-legacy classification and demand-gates the passive voice tap; Stock Upstream remains supported without extension-dependent capabilities.
SSD1306-compatible OLED
128×64 I²C OLED support remains optional and carries boot/network/setup/runtime presentation. The RC3 fresh-image acceptance included the OLED setup-code flow.
Factory image first. Exact tagged source when you need it.
The exact RC3 image has already passed fresh-flash acceptance on the reference appliance. Source installation remains supported, and the normal RC2 → RC3 application updater path was also physically accepted.
1. Download ywd-hotspot-0.2.0-rc3.img.xz
2. Flash it directly with Raspberry Pi Imager
3. Do NOT apply Pi Imager OS customization
4. Boot with the MMDVM HAT installed
5. Join YWD-Hotspot-XXXX
6. Open http://10.42.0.1/ and configure Wi-Fi
7. Reconnect to your normal LAN
8. Read the six-digit OLED setup code
9. Open https://<LAN-IP>:8443/ and finish setup
10. RF and SSH remain OFF until explicitly enabled
sudo apt update
sudo apt install -y git
cd ~
git clone https://github.com/merberg-ai/ywd-hotspot.git
cd ywd-hotspot
git checkout v0.2.0-rc3
sudo ./INSTALL.sh
ywd-hotspotctl version
ywd-hotspotctl source
sudo ywd-hotspotctl update --check
sudo ywd-hotspotctl update --dry-run
sudo ywd-hotspotctl update
systemctl --failed --no-pager
- No Wi-Fi credentials, callsign, DMR ID, BrandMeister credentials/API key, dashboard password or imported settings are embedded in the public image.
- RF and SSH are OFF in factory state; there is no default SSH password.
- Optional SSH/SFTP is enabled from SYSTEM → SSH ACCESS and remains public-key-only with root/password SSH disabled.
- RC3 recognizes the older RC1/RC2 YWD Extended runtime rather than silently recompiling MMDVM-Host. If you need the current demand-gated RX voice capability on an upgraded legacy runtime, follow the explicit refresh path in the upgrading guide.
- RX Monitor speech needs a separately installed YWD Vocoder Protocol v1 backend. The vocoder/mbelib backend is not bundled and normal RF/DMR operation does not depend on it.
- Keep the normal hotspot dashboard on a trusted LAN; do not forward its plain-HTTP control interface directly to the Internet.
Connect. Communicate. Anywhere.
RC3 image, tagged source, checksums, release notes, documentation, issues and ongoing development live on GitHub.