/!\ Vorläufig / Preliminary, work in progress /!\

Translate (Übersetzte) with Google

/!\ If you mouse click on a picture it will be expanded. You can go back to the web page with the back arrow of your web browser.


A low cost Vector Network Analyser shows up on https://amazon.de and some other usual places. It works from 50 KHz up to 900 MHz, the dynamic range lowers at the higher frequencies.

The main description is here http://nanovna.com/.

A very good web page about the nanoVNA is unfortunately in Japanese, but can be easily translated in the local language via Web-browser Chrome.

Unfortunately there are different version available, also the accessory package could be different. You should look for the following points:

  1. With battery (Li-Ion, 400 - 500 mAh)
  2. With 2 pieces 30 - 70 cm coax cable with SMA plugs
  3. USB-C cable
  4. SMA calibration set, Open, Short and 50 Ohm load
  5. SMA female-female adapter


A shielding is not necessary.

See a photo of the black version on the right.

A good housing can be 3D printed, see the photo on the right.

I like to collect and document all useful informations about that NanoVNA.




On the right side you see a picture of the board.

Since June 2019 there is also a news group for information exchange and useful documentation and a wiki. You have to create an acount in order to access the news group.



Software NanoVNA

There is also a Windows software NanoVNA version 1.03 for easier usage, and also storing the data as Touchstone files, with specific extensions e.g. .s1p and .s2p.

Windows 10 does have a serial port driver already on board.

The screenshot on the right shows a curve from a S11 (reflection, open) calibration.

NanoVNA usage



For some applications you need 6 - 10 dB attenuators for the needed frequency range.

You can either buy them (about 4.20 EUR on Ebay, 0 - 6 GHz) or if you want to have it quick, and have the parts, you can build your own, which must not be worse compared to a commercial one.

The resistor (SMD 0805) values are shown on the photo on the right.




SMA cables

The detailed data of the shown coax cables see SpectrumAnalyzer_LTDZ#SMA_cable

See the picture on the right side, which shows all mentioned coax cables.

The semi rigid coax cables have very low loss, but are primarily used to box internal connections.

The best coax cables for measuring is in my opinion RG316.


All Vector Network Analyzers need to be calibrated.

Compared with a Scalar Network Analyzer the phase (0 - 360 degree) of the radio frequency comes into the game. While at 1 GHz the wave length is 300 mm, one degree is less than a Millimeter.

/!\ So, we have to take care about a Millimeter length!

Because measuring just at the SMA connector is not practical, usually a flexible coax cable (20 - 50 cm) is used. Therefore the calibration must be made at the end of the coax cable. This is now your Reference plane.


Usually the necessary parts come with the nanoVNA. See the picture on the right.


The screen capture on the right shows a CH0 S11 (Reflection) of the 50 Ohm Load resistor after calibration (101 points).

In order for better reading I have it expanded by a factor of 2 (640 pixel wide).

On the left side of the screen you see the Calibration Status Cn DRSTX in vertical writing, if a calibration was already made (saved).

The little green spot in the center of the Smith Chart shows a very good calibration.

The yellow curve S11 represents how much power is reflected from the Load, and hence is known as the reflection coefficient or return loss (in dB). If S11 = 0 dB, then all the power is reflected. The higher the dB value, the better is the impedance match. This value is a bit noisy on the screen.


The screen capture on the right shows a CH0 - CH1 Through after calibration.

It is obvious, that the input impedance of the nanoVNA CH1 input does not perfect match the 50 Ohm Load resistor. But how much? About 1.8%. That is not bad, compared with reactance difference.

The actual settings for the Reference Plane are:

50 Ohm measuring

In order to measure the 50 Ohm values more accurate, without a R-Bridge, a Current-Voltage measuring could be done. What does you need for?

  1. A Current meter with minimum 4 digits and full scale of 40 - 60 mA.

  2. A Volt meter with minimum 4 digits and full scale of 2 - 4 V.

  3. A stable voltage source about 2 - 3 VDC.

  4. A SMA male plug to connect.
  5. Some wires and clips to connect.
  6. The + of the voltage source is connected to the + of the current meter.
  7. The - of the current meter is connected to the center pin of the SMA plug, and the + of the volt meter.
  8. The - of the voltage source is connected to the GND of the SMA plug and the - of the volt meter.

In my case I have a multimeter with 60 mA full scale for the current measuring. The volt meter is a multimeter with 4 V full scale. Now to the measurements:

I am aware that the Ohm values are not precise to the 4th digit, but the differences should be OK. Unfortunately the difference CH0 input to the 50 Ohm load is in the opposite direction from 50 Ohm, it is about 3% mismatch. That is compensated by the calibration.

SDR-Kits Testboard

From company SDR-Kits you can buy a very useful Testboard. Fortunately the documentation can be downloaded from the web page, so you are able to make a home made version. See the picture below.


With the very useful Python software nanoVNA-saver you can calibrate more detailed, e.g. with 505 points instead of the standard 101 points. See below a diagram of the 50.0 Ohm Load in the Testboard, calibrated with 505 points.


That can be even improved by Calibration Settings (compensation). With the Load Settings:

See the diagram below. The S11 Return Loss was improved at 900 MHz by about 10 dB.




For an easier finding of the Calibration Setting fields have a look at the Calibration window on the right.

For a better remembering of the Calibration File Name I put it in the Notes field.

In order to enter Calibration standards settings, you have to remove the mark in the field Use ideal values.

Then enter in the block Load the settings:

In the field Saved settings it is good practice to set a name, in my case Testboard.

With a click on the button Save the settings are stored for the next use.

At the next use select at Saved settings in the name field the name of your settings. Then click on Load.

In nanoVNA-saver version 0.1.3 it happened to me, that after clicking on button Load, no settings appeared in the fields. Clicking on the two fields made them visible.


Software NanoVNA-saver

NanoVNAS-aver is available on GitHub. It can be used on Windows, Linux, MacOS (Python 3 based). A pre-compiled version of Windows is also available, latest.

Click nanovna-saver.v0.1.3.exe to download the packaged windows version.

Launch the downloaded file and the software will launch directly (no installation required). On first boot, you may get a security warning from Windows. In this case, click Detailed Information and click the Execute button.

For the first use connect the NanoVNA unit with the USB cable and turn on the power. Windows should have given a COMx port to the NanoVNA.

Start NanoVNA-Saver. The connection between NanoVNA-Saver and NanoVNA itself is done by Serial port control at the lower left of NanoVNA-Saver. The COM port to which the NanoVNA unit is connected should be automatically recognized. If you start NanoVNA-Saver before turning on the power, it will not be recognized automatically, so press the Rescan button to recognize the port. When the COM port is recognized, press the Connect to NanoVNA button. This links to the USB connection. After that, it obtains data from the NanoVNA and draws graphs.

If just the 50 Ohm Load is connected to channel CH0, you get an S11 drawing like the one below.




When the Connect to NanoVNA button is pressed, the current sweep range (frequency) is read from the NanoVNA main unit, and displayed in the block Sweep control.

To change the sweep range, simply write the desired frequency in this field, but the Hz unit is a bit cumbersome. In that case, use M or K for ease (upper case). This is the same as the input method on the NanoVNA main unit.

By a click on the Sweep button you start a new sweep.

An important field is Segments. Because NanoVNA sweep length is 101 points (frequencies) only, NanoVNA-saver can collect several segments for one sweep in NanoVNA-saver. In case of the shown diagram, 5 segments are used.

Another good feature are the markers. Once selected, they can be moved in the diagram with the mouse.

Each marker data is evaluated and listed, as shown in the right chart.











Measurement Examples

SW Windom Antenna 80m


A previous measuring of the WindomAntennaFD4 with the VA5 Vector Antenna Analyzer showed comparable results.

It is very nice to include in the graph a vertical gray bar which spans the radio amateur frequency band.


SimSmith Coax Cable S11

In order to compare S11 reflection measurement and simulation with program SimSmith I used 2 open end coax cables with SMA plug to show the effect of cable loss.

The used coax cables are:

  1. RG316, 100 cm long, attenuation 86 dB/100 m

  2. similar Ecoflex 15, 116 cm long, attenuation 10 dB/100 m, see the picture on the right. The coax cable was an old surplus part, and adopted to a SMA plug.

After calibration direct at the nanoVNA CH0 SMA plug, a 1 meter coax cable connected to the reference plane with open at its other end, should give perfect circles spiraling inwards in the smith chart, see below.

What also is measured by the Python3 program nanovna-saver.py is the TDR (Time Domain Reflectometry) cable length shown on the left side of the window. In this case 1.004 m, which is correct. Before the measurement you have to define via menu the velocity factor of the specific type of the coax cable, in this case 0.695.



Below is the SimSmith simulation of the previous coax cable setup. To me it looks very similar to the previous measurement, so I assume that my measurement is correct. The coax cable data (Mdl) where found in the SimSmith data base.



Next comes a low loss rigid coax cable, with measurement and simulation. Because of the lower loss the width of the spiral boarder is much thinner than in the case before, see below.

What also is measured by the Python3 program nanovna-saver.py is the TDR (Time Domain Reflectometry) cable length shown on the left side of the window. In this case 1.16 m, which is correct. Before the measurement you have to define via menu the velocity factor of the specific type of the coax cable, in this case 0.82.



Below is the SimSmith simulation of the previous coax cable setup. To me it looks very similar to the previous measurement, so I assume that my measurement is correct. The coax cable data (Mdl) where not found in the SimSmith data base, therefore inserted manually.




Input resistance with VA5

In order to have a reference I measured with the Vector Antenna Analyzer VA5 the Input Resistance of the NanoVNA channel 0 and channel 1.

The VA5 was connected directly with an adapter BNC to SMA male.

The NanoVNA was not powered on while the measurement.




The measurement traces are:

  1. S11 in dB (Return Loss)
  2. S11 Smith Chart
  3. S11 RealZ
  4. S11 parallel C





It surprised me, that the RealZ of channel 1 is much lower (38.4 Ohm) than channel 0 (43.2 Ohm) at 600 MHz.









  1. Online dBm - Volt converter

  2. Comment from Vitor CT2JSA to this Spectrum Analyzer

  3. Capacitor Impedance Calculator

  4. VA5 Antenna Analyzer

  5. wikipedia, Smith-Chart

up to top

Contact Email, please enter your Email address

/!\ The entered Email address will not be published, or given away.

Comment this page
Are you human?

List of pages in this category:

-- RudolfReuter 2019-09-23 16:03:27

Go back to CategoryAmateurRadio or FrontPage

nanoVNA (last edited 2019-11-08 08:02:14 by RudolfReuter)