Vorläufig / Preliminary, work in progress
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/.
Unfortunately there are different version available, also the accessory package could be different. You should look for the following points:
- With battery (Li-Ion, 400 - 500 mAh)
- With 2 pieces 30 - 70 cm coax cable with SMA plugs
- USB-C cable
- SMA calibration set, Open, Short and 50 Ohm load
- 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.
- Product Name: Vector Network Analyzer
- Color: As picture shown
- Measurement frequency: 50KHz ~ 300MHz (50KHz -900MHz, enable extended firmware)
- RF output: -13dbm (maximum -9dbm)
- RF input CH1: maximum -14dBm caused by the mixer SA612 IP3 point
Frequency accuracy: <0.5ppm
- Measurement range: 70dB (50kHz-300MHz), 50dB (300M-600MHz), 40dB (600M-900MHz) enable extended firmware)
Port SWR: < 1.1
- Display: 2.8 inch TFT (320 x240, touch screen)
- USB interface: USB type-C
- Communication mode: CDC (serial)
- Power: USB 5V 120mA, built-in 400mAh battery, maximum charging current 0.8A
- Number of calibration points: 101 (fixed)
- Number of scanning points: 101 (fixed)
- Display Tracking: 4, Marking: 4, Setting Save: 5
- PCB: 54 mm x 85.5 mm x 11 mm/2.12" x 3.36" x 0.43" (without connectors, switches)
- Measuring S parameters, voltage standing wave ratio, phase, delay, Smith chart...
- Push button/Jog switch: operate menu
- Green: Power ON
- Green: Battery full
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.
There is a complete tutorial and getting started manual for the use of the nanoVNA in German and English from Gunthard Kraus DG8DB, (54 pages, including 5 practical examples), numbered V1.4.2 for the NanoVNA-saver Version 0.2.0.
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.
- Connect the nanoVNA board via USB cable to a Windows 10 PC.
- Power ON the nanoVNA via switch, Windows will install a serial driver.
Start program nanoVNA, Select the proper Windows Port Name.
Click on button Connect.
For a first test click on button Get Data and see if you get a curve.
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.
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.
Some hints from Tom DG8SAQ regarding measurements cables. When I did use VNAs professionally in a big lab, I did two things before I started taking serious measurements with a set of measurement cables.
I pulled at the connectors. Sometimes, they would come off. Then the cable was dumped to the trash.
I wobbled at the cables while doing a measurement. If the measurement results changed then again the cables went to the trash can. Most sensitive to mechanical stress is an S11 measurement of a good load. But note that anything below -40 dB for this measurement is insignificant.
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.
Coax cables: for a connection to a test object (jig) you need two paired coax cables with a length of about 30 - 70 cm each.
Open: Because the often delivered Open SMA part is not good suited it is better to use a female-female adapter instead. The reason is, that the Open SMA part does not have a good coax structure.
Short: In this case the delivered part is usually OK. In order to protect the thread from wear, a permanent female-female adapter is recommended.
Load 50 Ohm: This resistor should have a tolerance of better than 2%. In order to protect the thread from wear, a permanent female-female adapter is recommended.
Through: In this case two coax cables are connected with an female-female adapter, between CH0 and CH1 of the nanoVNA.
Isolate: In this case at CH0 a coax cable with the 50 Ohm Load must be connected. The other coax cable must be connected to CH1, best with another 50 Ohm Load resistor. The quality must not be very good, a home made version with a SMA socket and two SMD 0805 1% 100 Ohm resistors soldered in parallel should do it.
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).
C0: Calibration OK, location 0 (default at power up)
c0: Measuring out of the calibration frequency range
R: Reflection Tracking
S: Source Match
T: Transmission Tracking
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.
Up to 300 MHz the return loss is about below 50 dB.
Between 300 to 600 MHz the return loss is about below 40 dB.
Between 600 to 900 MHz the return loss is about below 30 dB.
Considering an antenna, a return loss of more than 30 dB is still a very good value (SWR 1:1.06 = 0.1% of reflected power).
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.
Up to 300 MHz the return loss is about below 27 dB
(Reflection < 5%).
Between 300 to 600 MHz the return loss is about below 18 dB (Reflection < 13%).
Between 600 to 900 MHz the return loss is about below 14 dB (Reflection < 20%).
The actual settings for the Reference Plane are:
- C0: 50 cm RG316
- C1: Testboard
- C2: NanoVNA SMA
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?
A Current meter with minimum 4 digits and full scale of 40 - 60 mA.
A Volt meter with minimum 4 digits and full scale of 2 - 4 V.
A stable voltage source about 2 - 3 VDC.
- A SMA male plug to connect.
- Some wires and clips to connect.
- The + of the voltage source is connected to the + of the current meter.
- The - of the current meter is connected to the center pin of the SMA plug, and the + of the volt meter.
- 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:
50 Ohm Load SMA: 57.00 mA, 2.891 V -> 50.72 Ohm, +1,44%
NanoVNA CH0 Input SMA: 58.68 mA, 2.889 V -> 49.23 Ohm, -1.54%
NanoVNA CH1 Input SMA: 57.69 mA, 2.892 V -> 50.13 Ohm, +0,26%
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.
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:
Inductance: 2000e-12 H, because at 900 MHz the impedance was capacitive (lower part)
Offset: -60 ps, because at 900 MHz the curve trend was in the direction to Open (right border)
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:
Inductance (H(e-12)): 2000
Offset Delay (ps): -60
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.
There are several free PC program available, most are for Windows, but there is also a Multiplatform program nanoVNA-saver.
nanoVNAS-aver is available on latest. It can be used on Windows, Linux, MacOS (Python 3 based). A pre-compiled version of Windows is also available, Click nanovna-saver.v0.1.3.exe to download the packaged windows version. More information is on GitHub.
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.
NanoVNASharp MOD v3 by QRP RX
- CAPTURE button gets screenshot from NanoVNA
- Communication layer now works more reliably
- Improved error handling
- Calibration now works as expected, added RESET button
- Improved user interface for calibration (button highlighting, etc)
- Fixed frequency setup issues
- Improved S1P and S2P export
- Improved support for different firmware versions
- Firmware version detect and display in the app title
Originally provided by Hugen without source; binary available on Google Drive
Python, from Hugen
There is a nice Multiplatform, command line Python3 program for basic usage. You find the archive in python.zip.
$ python3 nanovna.py -help Usage: nanovna.py: [options] Options: -h, --help show this help message and exit -f FILE, --file=FILE read from FILE -r RAWWAVE, --raw=RAWWAVE plot raw waveform -p, --plot plot rectangular -s, --smith plot smith chart -L, --polar plot polar chart -D, --delay plot delay -G, --groupdelay plot groupdelay -W, --vswr plot VSWR -H, --phase plot phase -U, --unwrapphase plot unwrapped phase -T, --timedomain plot TDR -c, --scan scan by script -P PORT, --port=PORT port -d DEV, --dev=DEV device node -F FREQ, --frequency=FREQ frequency -g GAIN, --gain=GAIN gain (0-95) -O OFFSET, --offset=OFFSET offset frequency -S STRENGTH, --strength=STRENGTH drive strength(0-3) -v, --verbose verbose output -l, --filter apply IF filter on raw wave plot -C FILE, --capture=FILE capture current display to FILE # Example plot $ python3 python/nanovna.py -p # see the diagram on the right.
Example display capture of a 8.0 Mhz crystal in Tee connect, see on the right side.
# Display capture $ python3 python/nanovna.py -C nanoVNA_edy555-7_crystal-8MHz-Tee_5Hz.png
Unfortunately I had to edit the USB address in Python3 program nanovna.py, see:
# line 356 nv = NanoVNA(opt.device or '/dev/cu.usbmodem401') # must be nv = NanoVNA(opt.device or '/dev/cu.usbmodem4001')
SW Windom Antenna 80m
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:
RG316, 100 cm long, attenuation 86 dB/100 m
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 female plug, a 1 m 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.
Compared with the measured 101 points of the nanoVNA, the curve in the nanoVNA-saver program looks much smoother with 505 points. See the picture on the right and 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.
In the program nanoVNA-saver no extra calibration was used.
The diagram nanoVNA2_RG316-100cm-900MHz-RL.png below shows the measurement of a 100 cm RG316 coax cable with SMA male plugs. The calibration of the nanoVNA was made at the CH0 female plug, and saved in C1. The measured Return Loss of 1.82 dB fits good to the theory of 1.78 dB.
# RG316 100 cm SMA plug 2 x 0.86 dB + 2 x 0.03 dB = 1.78 dB
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:
- S11 in dB (Return Loss)
- S11 Smith Chart
- S11 RealZ
- 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.
RF Demo Kit
The RF Demo Kit NWDZ Rev-01-10 is available via Ebay for about 15 EUR.
A documentation can be found at: http://deepelec.com/rf-demo-kit . I will just extend it a bit about details and practical usage.
It contains on a 100 x 100 mm PCB with 18 Test fields. See the picture on the right.
Test fields, Diagram, Frequency span, Resonance
LPF-30 MHz S21 LogMag 10 MHz - 150 MHz
HPF-100 MHz S21 LogMag 50 MHz - 200 MHz
BPF-433 MHz S21 LogMag 400 MHz - 470 MHz
BSF-6.5 MHz Ceramic S21 LogMag 5.5 MHz - 7.5 MHz
- 33R SWR = 1.5 S11 SWR-Smith 50 KHz - 900 MHz
- 75R SWR = 1.5 S11 SWR-Smith 50 KHz - 900 MHz
- Capacitor 115 pF S11 Smith 50 KHz - 300 MHz
- Inductor 470 nH S11 Smith 50 KHz - 300 MHz
- C--R 115 pF 50R S11 Smith 50 KHz - 30 MHz
- C--L 18 pF 24 nH S11 Smith 50 KHz - 300 MHz, 240 MHz
C-- R || L,100pF,0.4nH,S11 Smith 50 KHz - 900 MHz, 800 MHz
R || C--L 50R S11 Smith 50 KHz - 900 MHz, 500 MHz
- Short S11 Smith 50 KHz - 900 MHz
- Open S11 Smith 50 KHz - 900 MHz
- Load 50R S11 Smith 50 KHz - 900 MHz
Thru S11 LogMag 50 KHz - 900 MHz
Att -5 dB S21 LogMag 50 KHz - 900 MHz
Att -10 dB S11 LogMag 50 KHz - 900 MHz
For Test field 12 I made an ELSIE simulation figuring out the component values: f = 510 MHz, BW = 48 MHz, Notch = -45.5 dB, C = 1.0 pF, L = 100 nH Q = 170
The micro coax plug is named U.FL/IPX, 50 Ohm, about 2mm diameter. For more details see on Wikipedia.
Excerpt: "Female U.FL connectors are not designed with reconnection in mind, and they are only rated for a few reconnects approximately 30 mating cycles before replacement is needed. The female U.FL connectors are generally not sold separately, but rather as part of a pigtail with a high-quality 1.32 mm doubly shielded cable, which allows for a low-loss connection."
Because probably the female part of the U.FL plug (on the cable) wears out faster, you can buy cheap on Ebay: "UFL U.FL IPEX IPX to SMA male plug RG178 Coax Pigtail", usually 20 cm long.
The cable crimp in the little U.FL connector in not very solid. In order to avoid a cable and plug separation you should solder the coax cable shield crimp, see the picture on the right.
I made once this experience, and it was very difficult to repair the cable connection. In order to fit the center wire, you need to solder it with very little tin, and open the socket a little with a needle. And you need some patience, good light and a good magnifier glass.
To make a connection with the U.FL coax plug, use a 3 mm wide screw driver tp push down while holding with the other hand the plug centric, see the picture below. Use a 1 mm wide screw driver to lift off the U.FL female plug, while holding down the cable end of the U.FL connector.
Dr. David Kirkby recommended an Extraction Tool from company HIROSE to lift up the U.FL connector.
You have to pay about $18 + shipping, so more than the RF-Demo-Kit costs.
If you have some mechanical tools and a bench vice you could make your own Extraction Tool from an empty can, see the picture on the right.
After Calibration with the Test Fields Short, Open, Load and Thru (in my case in save3) I tested with Test Field 1 Low Pass Filter 30MHz. See the nanoVNA-Saver diagram below.
The blue Marker 2 was placed by the nanoVNA-Saver Analysis function (Low Pass -3 dB). The red marker 1 is the -40 dB point.
Test field 8, inductor
1. In Test field 8 the inductor looks like to have nominal 470 nH. If you accept a tolerance of +/- 10 % = 423 - 517 nH, the usable frequency range is measured to 3.4 - 126 MHz. Above 394 MHz the inductor becomes capacitive. See nanoVNA-Saver diagram: RF-Demo-Kit_8-470nH_Saver.png
2. A comparable measurement with the semi-professional FA-VA5 and VNWA software.
If you accept a tolerance of +/- 10 % = 423 - 517 nH, the usable frequency range is measured to 1 - 128 MHz.
Above 375 MHz the inductor becomes capacitive.
See VNWA diagram on the right.
In my understanding both diagrams show comparable results.
Coax Cable Impedance
A useful application is to measure (estimate) the Impedance of a coax cable. I had one case of a 100 cm coax cable labeled RG58 50 Ohm which behaved strange, and now measured to about 75 Ohm.
Connect the coax cable to the nanoVNA Reference Plane and leave the end open. Best result is achieved by calibrating at the SMA plugs of the nanoVNA (Reference Plane, e.g. C1).
Jon Gord has explained how to measure it with the nanoVNA.
As an example use a 1 m long 50 Ohm coax cable RG58.
Turn on Smith Chart display if it is not already on, and set the Smith marker for R+jX mode. See the screenshot on the right.
Connect the unknown cable, open circuit at the far end.
The upper frequency can be estimated with a Lambda/4 calculation:
- 1 meter cable length ~ 300 MHz / 4 = 75 MHz
Because of the Velosity Factor of the coax cable it is actually lower (e.g. RG58 0.66 * 75 = 49.5 MHz).
- 25 cm cable length ~ 1200 MHz / 4 = 300 MHz
Adjust Stop frequency until the arc on the Smith Chart goes from 3 o'clock (open) to 9 o'clock (short). This is the frequency at which the cable is 1/4 wavelength long.
In this example 49.05 MHz.
Set the marker to half the Stop frequency. At this frequency the cable is 1/8 wavelength long.
In this example 24.55 MHz.
Read -jX value from the marker. The X value is the characteristic impedance of the cable. (The impedance of an 1/8-wavelength open cable is -j times the characteristic Z of the cable.)
In this example 48.95 Ohm.
Because Python 3 program nanoVNA-saver is multi platform and has a lot of features I prefer that for documentation.
In program nanoVNA-saver set the following:
Upper frequency to the estimated value from the cable length.
Lower frequency later to a value which gives a good resolution for measuring the dip frequency (Lambda / 8).
Diagram Type upper right to S11 |Z|
scan Segments to about 10, in order to easy estimate the dip frequency.
Then do a scan and adjust the Markers as following:
Marker 1 to the S11 |Z| minimum frequency.
Marker 2 to the S11 |Z| minimum frequency / 2.
Then read the coax cable Impedance from Marker 2.
See the 2 sample diagrams below, measuring a 26 cm RG316 cable and a 100 cm RG58.
A very good paper about crystal measurement can be found at Agilent, 5965-4972E with the title Crystal Resonator Measuring Functions. More basic details are found at wikipedia, English and wikipedia, German.
On page 9 there is a diagram of a crystal Pi-network test fixture. The crystal impedance is assumed with 12.5 Ohm. The mentioned values of the E192 resistors gives an attenuation of 2 x 14.78 dB. That looked a bit high value for me, considering the not so good amplitude dynamic range of the nanoVNA. Another drawback was the use of the E192 series for the resistors. Fortunately I found an On-Line Pi-network calculator with variable input and output impedance parameters.
The minimum attenuation achieved was 2 x 11.44 dB with the E24 resistors R1 = none, R2 = 43R, R3 = 15R.
Next step was to build a small test fixture. See below my test fixture for HC-6/U and smaller crystals. The perforated board size is 25 x 20 mm.
First I will show below the measurement of a 1.8432 MHz HC-6/U crystal. The -3 dB bandwidth is 35 Hz.
Next is the measurement of a 71.5 MHz HC-18/U crystal. The -3 dB bandwidth is 1.127 KHz.
Last is a 6 pole 9.0 MHz crystal filter XF-9 with 50 Ohm impedance. The -3 dB bandwidth is 5.5 KHz, the -60 dB bandwith is 8.8 KHz.
USB Product ID must be DF11, not 0000
- Reasons to upgrade
- TDR (Time Domain Reflectometry) capability in firmware (measure coax cable length).
- Operation up to 1500 MHz (at reduced performance).
- Switch into DFU mode without hardware jumper.
- Change from 2 trace to 4 trace firmware (or vice versa).
no longer needed with Hugen aa firmware 0.4.0-3
There you have a bigger font and 4 traces if needed
- better synergy with PC software, e.g. TAPR VNAR4 fast scan
Enable electrical delay setting, see here for an explanation
Many special firmware are available elsewhere with different naming, and without aa versions having larger text.
My favorite, aa version
HuGen firmware naming conventions and differences from edy555 firmware
- A typical name is NanoVNA-H_900_ch_20191003.dfu
recent aa (larger text, 2 trace) firmware no longer requires separate clear memory.
- owner or special purpose.
edy555 "owns" NanoVNA; HuGen "owns" NanoVNA-H
HuGen originally provided 4 versions for each release date.
900 <- obsolete
- most devices can overclock for 900MHz third harmonic.
- To avoid artifacts with weaker devices, use 800 firmware versions
- since 20191009, overclock tuning is user-adjustable
aa / ch
- aa (Antenna Analyzer) limited to 2 traces but usefully larger text.
- Use ch for 4 traces, but smaller text
- date code; newer is not always better (but e.g. 20191009 is better than 20191003).
- Some group messages report bugs.
- format for DFU utilities, e.g. verify that firmware matches USB device ID
- hex is simpler, lacks ID matching. DFU utility can convert either way.
differences from edy555 firmware thanks to QRP
- hugen79 firmware has imbalance gain correction, which is missing from edy555 firmware
- hugen79 firmware has a little different logic for frequency band/gain change.
- hugen79 firmware has correct default touch calibration,
- which works ok with NanoVNA-H hardware even with no touch calibration.
- edy555 firmware default touch calibration is incompatible with NanoVNA-H hardware;
- touch screen calibration is required after installing edy555 firmware.
On Windows STSW-STM32080 package
- drivers and DFU utilities for managing and installing firmware
available here without registering
- STMicroelectronics wants package users to register, then send confirmation to your email address for access.
- This requires browser cookies for ST's website at least temporarily enabled...
- Windows installation includes a User Guide
The installer is probably named DfuSe_Demo_V3.0.6_Setup.exe because ST expects their target audience to create firmware installers motivated by this.
Converting other firmware formats to DFU format.
DfuSe_Demo_V3.0.6_Setup.exe also installs DfuFileMgr.exe e.g. in
C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin
- First, get e.g. an edy555 firmware file
- click e.g. nanovna-firmware-0.2.2.zip to download. e.g. in C:\addons
- Next, unzip it e.g. in C:\addons\nanovna-firmware-0.2.2
- Next, to convert e.g. that C:\addons\nanovna-firmware-0.2.2\build\ch.bin to DFU format:
Launch DfuFileMgr.exe Choose GENERATE DFU from HEX and click OK.
Choose your action: I want to GENERATE a DFU file from S19, HEX or BIN file
- Click half way down on the right side.
- Navigate to e.g. C:\addons\nanovna-firmware-0.2.2\build\
- Click on e.g. ch.hex, and then Open.
- Click Generate...
- You will be asked to save the file e.g. as edy555_0.2.2.dfu, and saved it in the same directory.
- For message Success for Image for alternate setting..., click OK.
Use e.g. C:\addons\nanovna-firmware-0.2.2\build\edy555_0.2.2.dfu to flash NanoVNA by DfuSe Demo 3.0.6.exe
On Linux it needs some expertise:
# Install program $ sudo apt-get install dfu-util # show the help info $ man dfu-util # for example Hugen version 0.4.0-3 $ dfu-util -v -d 0483:df11 --alt 0 -D NanoVNA-H_20191125_AA.dfu
On MacOS it needs some expertise:
# Install program $ brew install dfu-util # show the help info $ man dfu-util # for example Hugen version 0.4.0-3 $ dfu-util -v -d 0483:df11 --alt 0 -D NanoVNA-H_20191125_AA.dfu
Clearing nanoVNA flash memory
cleaning settings to default states in old firmware, before DFU command is provided in menu.
If the old firmware has a clearconfig command:
connect to your NanoVNA with a Terminal Emulation, with e.g. PuTTY (9600 baud 8N1)
enter help to list all supported commands
entering clearconfig resets all configuration settings to defaults
power nanoVNA off and on for default settings to take effect
If no clearconfig command is provided:
A few firmware installations fail until after first loading DMR-CLEAR_MEMORY_DFU.dfu.
- After loading this, your nanoVNA will not again work until after installing other firmware.
USB Product ID must be DF11, not 0000
recent aa (larger text, 2 trace) firmware no longer requires separate clear memory.
primarily intended for use with TAPR VNA v4 PC software
Contact Email, please enter your Email address
The entered Email address will not be published, or given away.
List of pages in this category:
-- RudolfReuter 2019-09-23 16:03:27