Software SCU-LAN10 replacement for the Yaesu FT-710 HF/50MHz transceiver. Real-time FFT spectrum plot + waterfall via FT4222 SPI, bidirectional Opus 48kHz audio, full CAT control over 4 WebSocket channels β no $200 dongle required.
FT-710 Web Control β FFT spectrum plot + waterfall on iPhone
A two-minute product tour of FT-710 Web Control (Chinese narration and subtitles).
Real FT4222 SPI spectrum, bidirectional Opus audio, full CAT control and multi-layer PTT safety β everything built specifically for the FT-710, no middleware anywhere.
850-point FFT spectrum at ~21 fps read straight from the FT-710 DSP chip over FT4222 SPI. The scope pipe is TX-aware: it pauses cleanly while you transmit and re-syncs in about a second on release. Automatic S-meter synthetic fallback when FT4222 is unavailable.
EMA-smoothed spectrum polyline above a 120-row history waterfall. Shared Floor/Ceil controls, six colormaps, and click-to-QSY anywhere on the spectrum.
One 48 kHz codec domain end to end: RX capture β Opus 64kbps β browser AudioWorklet; browser mic β Opus CBR β server β radio. Every platform, including Windows, bridges the 48 kHz codec domain to the FT-710's fixed 44.1 kHz USB-audio device boundary (960β882 samples per 20 ms frame).
Direct serial CAT over the Enhanced COM Port at 38400 baud. 40+ commands: frequency, 15 modes, 23 filter widths, VFO A/B, split, preamp, attenuator, NR/NB/AN, compressor, tuner, AF/RF/Mic gains.
100msβ5s smart intervals at 38400 baud, 0.25s per-query timeout ceiling, and priority preemption so PTT never waits for a poll cycle. Stale in-flight reads are discarded after user commands.
Canvas S-meter (S1βS9+60dB) with dBm readout plus full TX telemetry: PWR / ALC / SWR / Id / Vd / COMP. Memory channels with one-tap recall; every UI preference persists in cookies.
Optional networked ATR1000 antenna tuner: learned LC relay values follow every frequency change, and a server-side tune assist runs the full carrier-measure-keep-or-rollback sequence for you.
Touch-and-hold TX with instant release on touch-end. Fire-and-forget TX0 with 500ms TX-status poll + browser watchdog. Server-side forced RX when the last client β or the TX-audio owner β disconnects.
Optimised for iPhone Safari: safe-area adaptation, PWA manifest with Service Worker offline caching, Wake Lock, fullscreen toggle, and a native SwiftUI companion app.
Windows 11/12 x64 β embedded Python 3.12 runtime, no manual Python install. Start Menu launcher with per-user config in %LOCALAPPDATA%.
MRRC-FT710-Setup.exe β v1.7.8 Stable
35.1 MB Β· x64
SHA-256: c1e474b58f9948206990efbc9f8bdb5b183d03e4f462828b56d2d3f8c0b493bb
v1.7.8 Stable keeps browser/Opus audio at 48 kHz and always converts each 960-sample TX frame to 882 samples at the FT-710's fixed 44.1 kHz device boundary, including after PortAudio reinitialization. TX-session logs now expose queue drops, and same-session reconnects safely replace stale audio ownership. Windows build, 439 tests, install/start/uninstall, and bundled-file checks passed; physical RF monitoring remains an operator-side acceptance check.
Without the FTDI DLLs the app falls back to the S-meter synthetic spectrum β CAT control and audio are unaffected. macOS / Linux / Raspberry Pi: run from source (see Quick Start below).
Windows users take the installer track; macOS / Linux / Raspberry Pi run from source. Both end at the same browser UI.
Silicon Labs CP210x VCP driver for the FT-710 Enhanced COM Port. FTDI D2XX only if you want FT4222 true spectrum.
Device Manager β Ports (COM & LPT) β Enhanced COM Port
MRRC-FT710-Setup.exe β v1.7.8, 35.1 MB, x64. Start Menu + optional desktop shortcut.
SHA-256 c1e474b58f9948206990efbc9f8bdb5b183d03e4f462828b56d2d3f8c0b493bb
Start Menu β Edit Configuration β set the Enhanced COM Port and a strong web password.
%LOCALAPPDATA%\MRRC-FT710\ft710.env
Start Menu β MRRC FT-710 β the launcher starts the server and opens the browser automatically.
http://127.0.0.1:8888 β login β full control
Get the latest code from GitHub
git clone https://github.com/cheenle/mrrc_ft710.git
Python 3.12+ with FastAPI, Uvicorn, PySerial, PyAudio, NumPy
cd mrrc_ft710 && pip install -r requirements.txt
Set the serial port and launch β auto-detects FT-710 USB devices
FT710_SERIAL_PORT=/dev/cu.usbserial-XXXX python server.py
Any device on your network β phone, tablet, desktop. Default password: ft710
https://server-ip:8888 β login β full control
For real FT4222 SPI spectrum data, install libft4222 + libftd2xx from the wfview app bundle or FTDI website. CAT control and audio work without any FTDI libraries.
4 WebSocket connections, zero external middleware, built entirely on Python async frameworks.
SwiftUI companion app (iOS 17+) β same 4-channel WebSocket protocol as the browser, tuned for one-handed mobile operation.
Frequency (direct entry / step / band jump), VFO A/B, mode, filter width, Preamp/ATT, AGC, NB/NR/ANotch, RF power, mic gain, squelch β all from the iPhone.
850-bin real-time waterfall with FFT curve, colormap matched to the web UI. S-meter plus TX meters (PWR / SWR / ALC / COMP) and memory channel list.
RX: Opus 48kHz decode and playback through the device speaker. TX: mic capture at 48kHz in 20 ms PCM frames β hold PTT to talk.
Early access β build from source
Requires a physical iPhone (simulator unsupported β bundled libopus is arm64-device-only), iOS 17+, Xcode 15 + XcodeGen, and a TLS-enabled server. The P0 PTT-safety issues from the 2026-07-20 audit are resolved β TX uplink ownership follows the keying client.
IBM TeamSD methodology · 15 chapters · V2.9 · Architecture decisions, component model, PTT safety, and full version history.