Some PC Software for NanoVNA

As regular readers are well aware, my main PC runs Linux Mint, and has for many years. I do run a Windows 10 PC as well, in order to build code for that platform as well as to play games, but it’s my preference to do nearly all of my work on my Linux box.

There exists an “official” NanoVNA PC program that runs in the .NET environment on Windows PCs. I’ve tried it out on my Windows box and it works alright, but has some annoying bugs that make it difficult to use. The big problem is that this program is closed source, so no one in the community can help to improve or fix the code. Naturally, I turned to the interwebs to look for an open source alternative that could run on Linux. I figured there had to be one or that one would be released soon, since the virtual serial port protocol for the NanoVNA had already been documented by people on the NanoVNA mailing list.

I eventually found the NanoVNASaver program by Rune B. Broberg, 5Q5R. It’s a Python 3.7/Qt program that is cross-platform and was very easy for me to install and run on my Mint box:

git clone https://github.com/mihtjel/nanovna-saver
python3.7 nanovna-saver.py

Of course, YMMV, since you may have to install some dependencies before you can get it to run. Also, it requires Python version 3.7, so be sure you have that specific version installed if you are not running a precompiled binary.

NanoVNASaver has pretty much all of the features of the “official” program, plus more. You can select from a variety of S11 and S21 plot types, and the markers work as you would expect (unlike the “official” program). It will export Touchstone files for use in SPICE and other modeling tools. You can also save and display reference traces, which is of course quite useful.

NanoVNASaver also has a neat TDR function along with a window for the graph so that you can measure cable lengths.

Perhaps the most useful feature in NanoVNASaver is how it handles the sweep. Instead of only doing a single 101 point sweep, you can specify an arbitrary (up to a point, I assume) number of sweeps, so that you can collect 101 * number of sweeps points of data, which is something that my current NanoVNA firmware doesn’t do.

Development has been proceeding at a very fast pace, and I would assume that the version that I’ve reviewed for you (0.0.9) will be deprecated very quickly, if you happen to be reading this very long after the publication date. The great thing about getting it via git clone is that it’s as easy as issuing a git pull origin master to update it.

All in all, I’m really happy with this free and open source software which complements the NanoVNA nicely. Hats off to Rune for providing such a valuable resource to the community.

7 thoughts on “Some PC Software for NanoVNA

  1. unable to run program module PyQt5 not found. I installed with pip3 install PyQt5 install it installed ok
    would be nice if nanovna-saver could be installed as a snap

  2. I am attempting to install nanovna-saver on Linux Mint 19 32-bit, following the procedure at github.com/mihtjel/nanovna-saver/blob/master/README.md

    Attempting to execute the “python3.7 -m pip install .” command, I get the following:
    “Processing /home/larry/nanovna-saver
    Collecting PyQt5>=5.11.2 (from NanoVNASaver==0.2.0)
    Could not find a version that satisfies the requirement PyQt5>=5.11.2 (from NanoVNASaver==0.2.0) (from versions: )
    No matching distribution found for PyQt5>=5.11.2 (from NanoVNASaver==0.2.0)”

    Then I attempt to execute either “pip3 install PyQt5 install”, or “python3 -m pip install PyQt5”. Using either command I get the error:
    “Could not find a version that satisfies the requirement PyQt5 (from versions: )
    No matching distribution found for PyQt5”

    Any ideas? Be gentle, I’m not a programmer, and seem to be a perpetual newbie. 😉

  3. Larry, if I had to guess, I think that probably stems from running a 32-bit distro. I run Linux Mint 19.2 64-bit and didn’t have a bit of problem. Only think I can recommend is that you dig around on the GitHub issues for nanovna-saver (https://github.com/mihtjel/nanovna-saver/issues), or perhaps contact the author via filing an issue on GitHub or maybe via Twitter (@mihtjel), where he is active.

  4. Any solution ?

    Settings: /home/serge/.config/NanoVNASaver/NanoVNASaver.ini
    2020-07-01 10:06:59,379 – NanoVNASaver.NanoVNASaver – ERROR – Tried to open /dev/ttyACM0 and failed: [Errno 13] could not open port /dev/ttyACM0: [Errno 13] Permission non accordée: ‘/dev/ttyACM0’

  5. Assuming you are using some kind of Linux distribution, it looks like you either your NanoVNA is enumerating on as a different device or you need to install udev rules for NanoVNA.

Leave a Reply