Skip to content

nanovna-saver

Sweep, chart and calibrate a NanoVNA from the computer

What it does

Connects to a NanoVNA or tinySA over USB serial, drives frequency sweeps, and displays S11/S21 as SWR, Smith chart, phase and magnitude plots -- with proper SOLT calibration, markers, and Touchstone export.

Why you would want it

The NanoVNA's own screen is two inches across. This is how antenna measurements actually get read, compared and saved -- the de facto companion software for the most common antenna analyzer hardware in amateur radio.

Before it will work

A NanoVNA-family device on USB and access to its serial port -- the dialout group. Calibration standards (the SOLT set that came with the device) for anything beyond rough looks.

How it installs

  • apt: nanovna-saver, python3-pyside6.qtwidgets — on debian, parrot
  • Debian 13 and Parrot 7 both offer 0.7.3-1.1 (measured 2026-09-06), the build that forgot its PySide6 dependency. python3-pyside6.qtwidgets is what 0.7.3-2 added to fix Debian bug #1112747 and it pulls QtCore and QtGui, the other two modules the program imports. From a clean Debian 13 VM the engine installed both and NanoVNASaver came up under Xvfb (2026-09-06), and the same on Parrot 7.3; without the second package it was a traceback. On a Debian release that ships the fixed package this block installs one package the archive would have installed anyway.
  • apt: nanovna-saver
  • One Architecture: all package, so the arch selector this manifest used to carry is gone with the venv. Versions measured 2026-09-06 with apt-cache policy on the VM targets: Kali rolling 0.7.4~pre1-1, Ubuntu 26.04 0.7.4~pre1-1, Ubuntu 24.04 0.6.3-1, Pop!_OS 24.04 0.6.3-1 -- the 0.7.4 builds carry the PySide6 dependency and 0.6.3 is a PyQt6 program with its own. Installed through the engine on Ubuntu 24.04 and launched under Xvfb the same day. The 24.04 build is two minor versions behind; an operator who needs a feature from 0.7 on a 24.04 base is the case a venv block would be justified by, and nobody has asked yet.

Known problems

Debian 13 and Parrot 7 ship 0.7.3-1.1, whose package forgot to depend on PySide6 (Debian bug #1112747): installed with plain apt it dies on ModuleNotFoundError: No module named 'PySide6'. This manifest installs python3-pyside6.qtwidgets beside it so the engine's install works; if you installed it by hand, that one package is the fix. The archive lags upstream: Ubuntu 24.04 carries 0.6.3 where Debian 13 has 0.7.3 and the rolling targets a 0.7.4 pre-release (measured 2026-09-06), so a device or firmware that upstream's changelog says was added recently may need the newer build. The command is NanoVNASaver and the package ships a menu entry. On Wayland, Qt may want QT_QPA_PLATFORM=xcb, the standing guidance.

Keeping it current

  • probe: apt policy
  • strategy: apt_upgrade

Where to get help with the software itself

GitHub issues; an active project with many contributors.

Source: catalog/packages/nanovna-saver.yaml