station Projects

Kenwood TS-890S Web Console

A free, open-source browser remote for the TS-890S. Run a small server beside the radio and operate the rig — bandscope, audio, PTT — from any phone, tablet or laptop, on the LAN or from anywhere in the world.

v0.9.0 GPL-3.0 Windows · macOS · Linux · Raspberry Pi KNS Tailscale

What it does

The TS-890S already speaks KNS — Kenwood's own Network Command System — over the LAN: CAT commands on TCP, two-way audio over UDP-RTP. This puts a browser in front of that, so the radio needs no extra hardware and no modification.

The result is a control surface that works on whatever screen you have to hand, rather than one that assumes a Windows PC in the same room.

Bandscope and waterfall

Live at around 30 fps over the LAN, matching the radio's own display rate. Span from 5 kHz to 500 kHz, with shift, reference level, attenuator and pause.

Drag-to-adjust filtering

Passband edges are dragged directly on the bandscope rather than nudged through menus — the filter is where you can see what it is doing.

Full-duplex audio

Receive and transmit audio over the LAN through the radio's built-in VoIP, using any microphone and speakers the browser can see.

Built-in signal decoder

CW, RTTY, PSK31, WEFAX, FT8 and FT4 decoded in the browser, with transmit for CW, RTTY, FT8 and FT4. No companion software, no virtual audio cables.

FFT audio analyser

Pop-out frequency analysis of receive or transmit audio: windowing, harmonic markers with live THD and SNR, multi-trace compare, −6 dB bandwidth, CSV and PNG export.

Graphic equaliser

Eighteen bands across 0–5.1 kHz for both chains, writing to the radio's own User presets while the factory presets stay read-only.

VFO handling

A and B with per-digit mouse-wheel tuning, A↔B swap, split with quick offsets, and the transmit side highlighted on the scope so you can see where you are actually going out.

Themeable, including night

A full palette editor with factory presets behind a ten-second try-and-revert safety net, and a night mode that switches to a red palette between sunset and sunrise computed from the grid locator.

How it connects

  ANYWHERE                    TAILNET                    THE SHACK

  phone   ─┐                                       ┌─ webserver ─── LAN ──┐
  laptop  ─┼──  wss:// ──▶  WireGuard overlay  ──▶ ┤   (PC or Pi)         │
  tablet  ─┘                MagicDNS + HTTPS       └──────────────────────┤
                                                                          ▼
                            no port forwarding                    TS-890S (KNS)
                            no dynamic DNS                        CAT  TCP 60000
                            nothing on the public internet        audio UDP 60001/2

The server sits on the same LAN as the radio and talks KNS to it. Tailscale then wraps the connection between your devices in a WireGuard tunnel, so the control surface is reachable from anywhere without a single inbound port being opened.

Tailscale also issues a real public-CA certificate for the server's name, which is not a nicety: browsers refuse microphone access over plain HTTP, so without HTTPS a phone cannot transmit.

Honest caveats

A hobby project written by an amateur for amateurs. Not certified, not endorsed by JVCKenwood, and offered with no warranty under GPL-3.0.

As the licensed operator you remain responsible for everything that leaves the antenna — band, mode and power limits, and the callsign on the air. That responsibility does not travel down the tunnel with the audio, and remote operation makes it easier to forget.