PCs, Test Equipment

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.


PC Upgrade

Back in the day, I used to be a PC build enthusiast, but as you can imagine things like starting a family can cause you to put hobbies like that on the back burner. So over the last 10 years or so, I’ve only minimally kept up with what has been going on in the PC world, and also have not put a lot of effort into my own PC setup here. But the old bug recently decided to bite me again, so I’ve been ramping back into the world of PC building and upgrading (especially budget acquisitions).

Before I go further let me give you a quick description of my current office PC setup. As some of you probably know, I’m primarily a Linux aficionado, so my main work PC is a Linux Mint 18.3 box based on an Intel Core i3-3240 with 16 GB of DDR3 RAM, which is getting a bit long in the tooth. Sometimes, I still need to run Windows programs (and I occasionally like to game on my PC), so I also fairly recently built a budget Win 10 PC from a Xeon X5460 (a decade-old quad core CPU) that I modded to work in a consumer-grade LGA775 motherboard, along with 8 GB of DDR3. That system was decent, but being based on a 10-year old processor, was also prone to showing its age at times.

I’d say that the rekindling of my interest in PC building as a hobby coincided with the release of AMD’s Zen architecture processors about a year ago, which is the first time that AMD has been competitive with Intel in performance for quite a few years. So as I have been watching how the first-generation Ryzen CPUs stack up against Intel’s offering, I have been more and more curious to try one. I used to be a pretty big AMD fan back in the Athlon 64 days, but I won’t deny that their later stumbles made me lose a lot of interest in them.

What really put me over the top was the more recent release of the two new Raven Ridge APUs (CPU plus integrated GPU): the Ryzen 3 2200G and Ryzen 5 2400G. The former being a 4 core/4 thread CPU for $99 and the latter 4C/8T for $169. Each has a Vega graphics core on the die; the 2200G having 8 compute units and the 2400G with 11 compute units. From looking at reviews of these APUs, it seemed that the processors in them were quite capable, and that for the first time ever, the integrated graphics could play quite a few modern games at 1080p with modest graphical settings and easily play almost any game at 720p. The real value sweet spot of the two seems to be the 2200G, which has a lot of performance for a $99 part.

So I decided that I wanted to build a Ryzen 3 2200G system to replace my X5460 Win10 box. And I wasn’t even going to use the integrated graphics at this point, since I also recently picked up a R9 270X for the amazing price of $40 on OfferUp. After selling off some spare gear on OfferUp and my For Sale page, I made enough money to get the parts that I needed. I used Camel Camel Camel to snag the ASRock AB350 Pro4 for $75, took advantage of an eBay sitewide 20% off coupon to grab an 8 GB kit of G.Skill F4-2800C16-4GVR DDR4 RAM for about $75, the 2200G for the MSRP of $99, and a Deep Cool GAMMAX 300 CPU cooler for $13 since I intended to overclock.

The build was very smooth, although I didn’t take a photo of the final result because I ended up using the only ATX case that I had on hand, which is kind of old and doesn’t have any cable management features, so it looks like a bit of a mess inside. Although I heard that the stock cooler that comes with the Ryzen isn’t bad, I wanted to have something better on hand so I could overclock without worry. I can say that while the GAMMAX 300 isn’t a total beast it does a pretty good job for the price. With the AB350 Pro4, I was able to overclock the CPU to 3.9 GHz (from stock 3.5 GHz) with no problems at all; as easily as tweaking the CPU core voltage and setting the frequency to 3.9 GHz in the UEFI. My CPU temperatures never got above 60°C in Cinebench, and maxed out at 70°C in Prime95. I also was able to easily overclock my kit of 2800 MHz DDR4 RAM to 3200 MHz by bumping up the RAM voltage just a little bit, which is really nice because the performance of these APUs are highly tied to the RAM speed. Without a doubt the easiest overclocking I’ve ever tried. The only minor hiccup that I encountered was that the Raven Ridge APUs take a special driver package that is different from the standard AMD unified drivers, so be aware of that if you ever build your own.

Next, I curious to see how the new rig would compare performance-wise with my old PC. After getting my overclock dialed in, I ran Cinebench R15 and got a score of 611, which is a fair bit better than the 550 score of the stock 2200G clock and nearly double the score of my old system, which was about 330.

I also noticed that the CPU-Z utility also has a benchmarking tool built into it, so I decided to give that a try as well. It gave my rig a single-thread score of 447 and a multi-thread score of 1783. You can see in the graph above that this score puts it near the top of the list of 4-core CPUs in their database, putting it on par with the last (7th) generation Intel Core i5s. It also whips the stock Ryzen 3 1200, which now looks to be a totally obsolete part since the Ryzen 3 2200G is $15 MSRP cheaper! (Yes, I know that most likely the R3 1200 in that chart is not overclocked, but I doubt it could get to my R3 2200G score even if it were.)

Overall I’ve been very impressed with my new system, and happy with my modest investment in it. It’s great to see a competitive AMD once again forcing Intel to compete instead of sandbagging like it has done for the last few years. I do plan to eventually convert my main Linux rig to a Ryzen system as well, hopefully in the near future. A hearty thumbs up all around from me.