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
From real FT4222 SPI spectrum waterfall to bidirectional Opus audio, CAT control, and mobile-optimized PTT β every feature built specifically for the FT-710.
850-point FFT spectrum at ~21 fps from the FT-710 DSP chip via FT4222 SPI. 120-line history waterfall with blackβblueβgreenβyellowβred colormap. Dual-mode: S-meter synthetic fallback when FT4222 is unavailable.
Real-time spectrum amplitude vs frequency polyline above the waterfall. Cyan (#06b6d4) line with EMA smoothing (Ξ±=0.30), 2Γ amplitude boost for peak visibility, and horizontal + vertical grid lines aligned with frequency scale.
RX: FT-710 USB Audio β PyAudio capture (44.1kHz Int16) β frame-aligned resample to 48kHz β Opus 64kbps encode β browser AudioWorklet. TX: browser mic (48kHz) β Opus 64kbps CBR β server resample 48β44.1kHz β PyAudio β radio.
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, S-meter, multi-meter.
Optimised for iPhone Safari: safe-area adaptation, PWA manifest with Service Worker offline caching, Wake Lock, Fullscreen toggle. Touch-and-hold PTT with dead-man release.
100msβ5s smart intervals at 38400 baud, 0.25s timeout ceiling, active PTT yield. Poll tiers: 100ms (freq/mode/S-meter), 500ms (TX meters zeroed on RX), 2s (filters/gains/NR/NB), 5s (voltage/current/compressor).
Touch-and-hold TX β 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. Browser unload beacon sends TX0 on tab close.
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 2026-07-20 audit lists known P0 PTT-safety issues β fixes are designed and in progress. Read the audit before transmitting.
4 WebSocket connections, zero external middleware, built entirely on Python async frameworks.
FT4222 SPI real spectrum from the FT-710 DSP chip β FFT amplitude line chart above 120-line waterfall, with automatic S-meter synthetic fallback.
Tagged dual-codec transport (Opus 64kbps CBR + Int16 PCM fallback). 12Γ bandwidth reduction vs raw PCM.
Windows 11/12 x64 β embedded Python 3.12 runtime, no manual Python install. Start Menu launcher with per-user config in %LOCALAPPDATA%.
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.6.0, 28.3 MB, x64. Start Menu + optional desktop shortcut.
MD5 2be2a654242f284f73104aea2e010c41
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
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 (steps below).
Clone, install dependencies, start the server, open your browser β just four steps.
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.