Wednesday, September 2, 2026

NanoVNA-H Firmware Manual (and NanoVNA-H4 too)

This document describes NanoVNA-D firmware version v1.2.46 by Dmitry (DiSlord). The firmware is based on work by Takahashi Tomohiro (TTRFTECH). It targets the NanoVNA-H; H4-only features and differences are marked inline.

This document was created by showing the source code of the firmware to ChatGPT 5.6 Sol (using Talos, of course), and spending $3.62 on tokens. I made it for myself but I thought others might find it useful while trying to figure out what every menu item does and what every little annotation on the screen means so I'm sharing it here. This is the first version, it may be crap, but as I'll go through it while using my NanoVNA-H, I'll be asking the LLM to revise any problematic sections. If you find any issues or want something explained in more detail, please leave a comment.

1. Controls and menu navigation

The firmware accepts input from the touchscreen and the three-action lever switch.

Normal screen

  • Press the lever to open the main menu.
  • Touching the screen can open the menu or select a trace or marker, depending on the touched area.
  • Move the lever left or right to adjust the currently selected marker or frequency item.
  • An arrow beside an on-screen value identifies an item currently controlled by the lever.

Right-side menu

  • Touch a button to activate it.
  • Move the lever left or right to change the highlighted button.
  • Press the lever to activate the highlighted button.
  • <- BACK returns to the preceding menu.
  • Leaving the top-level menu restores the full plot area.

Some buttons show their current value in colored text. A check mark denotes an enabled item. Mutually exclusive selections use a group-selection symbol.

Numeric input

Menu entries requiring a number open a keypad. The available unit keys depend on the value being entered. BS removes a character and Enter accepts the value.

Filename entries open a text keypad when automatic filenames are disabled.

2. Measurement screen

The normal measurement screen contains the plot, trace and marker information, sweep settings, and status indicators.

Approximate layout:

 battery  trace or marker information
 icon     channel, format, scale, values

 status   +-----------------------------------------+
 codes    |                                         |
          |            measurement plot             |
          |                                         |
          +-----------------------------------------+

          START / CENTER / CW   BW and points   STOP / SPAN

The H display is 320 x 240. The H4 display is 480 x 320, so screen spacing differs.

2.1 Plot and grid

Enabled traces are drawn as colored lines. The default colors are:

  • Trace 1: yellow
  • Trace 2: cyan
  • Trace 3: green
  • Trace 4: magenta
  • Stored trace: red

The grid depends on the enabled trace formats:

  • Rectangular formats use a rectangular grid.
  • SMITH uses a Smith or admittance grid, depending on its selected value format.
  • POLAR uses a polar grid.

DISPLAY > SCALE > DOT GRID changes grid lines from continuous pixels to alternating pixels.

DISPLAY > SCALE > SHOW GRID VALUES displays vertical grid values near the right side. Values use the active trace's color. Grid values are not shown for Smith or polar formats.

2.2 Reference-position symbols

Each enabled rectangular trace has a small symbol at the left edge of the plot. It marks that trace's reference position. Smith and polar traces do not use this symbol.

2.3 Marker symbols

An enabled marker is drawn as a numbered flag at its sweep point. The same marker position is marked on every enabled trace.

Markers are numbered 1 through 8. The marker frequency is obtained from its sweep-point index.

2.4 Top information area

The contents depend on the number of enabled markers.

One active marker

The firmware lists each enabled trace. A line contains:

  • an arrow for the active trace;
  • channel name (S11 or S21);
  • trace format;
  • scale per division, or full-scale value for Smith and polar formats;
  • the trace value at the active marker.

Multiple markers

When a previous marker and an active trace exist, the firmware lists enabled markers instead. A line contains:

  • an arrow for the active marker when the lever controls markers;
  • marker number, such as M1;
  • marker frequency;
  • active-trace value at that marker.

With marker DELTA enabled, non-active marker lines show frequency and value differences relative to the active marker.

When DELTA is disabled, a separate line can show the signed frequency difference between the active marker and previous marker. In time-domain mode it shows time and distance differences instead.

2.5 Extra trace information

The top information area can also show:

  • Edelay: electrical delay and its distance equivalent;
  • S21 offset: configured S21 level offset in dB;
  • measurement-module results.

These lines appear only when their corresponding values or modes are active.

2.6 Bottom sweep information

In frequency-domain mode, the bottom line shows one of:

  • START and STOP frequencies;
  • CENTER and SPAN;
  • CW and its frequency.

An arrow beside a value means the lever currently adjusts that frequency item.

The center of the line shows:

BW:<bandwidth>Hz <points>p

  • BW is the configured IF bandwidth.
  • p is the number of sweep points.

The H supports up to 101 sweep points in this source configuration. (H4 supports up to 401 points.)

In time-domain mode, the bottom line shows:

  • START 0s and velocity factor (VF);
  • stop time and its calculated distance.

2.7 Battery icon

The battery icon is at the upper left. Its fill level is calculated between 3.2 V and 4.1 V. The default color is green. It changes to red below the 3.3 V warning level.

3. Left-side status codes

The narrow column on the left shows calibration, output-power, and smoothing status. Several codes can appear at once.

3.1 Applied calibration

  • C0, C1, etc.: calibration correction is applied from that internal save slot.
  • C*: calibration correction is applied but is not associated with an internal save slot.
  • c0, c1, or c*: the applied calibration is interpolated for the current sweep.
  • No C or c: calibration correction is not applied.

C uses the normal foreground color, white by default. Interpolated c uses the interpolation color, green by default.

A code that looks like Co is normally C0: capital C followed by slot number zero.

CALIBRATE > APPLY toggles application of calibration correction. Turning it off removes the C or c code. Turning it on restores the code.

3.2 Calibration data and error terms

The remaining calibration letters indicate collected standards or calculated error terms:

  • O: OPEN data collected.
  • S: SHORT data collected.
  • D: directivity error term (ED) available.
  • R: reflection-tracking error term (ER) available.
  • S: source-match error term (ES) available.
  • T: transmission-tracking error term (ET) available.
  • t: THRU data collected but not yet converted to ET.
  • X: isolation error term (EX) available.
  • E: Enhanced Response enabled.

The two meanings of S occupy different positions in the ordered status list: the earlier S is collected SHORT data; the later S is the source-match error term.

These letters use the normal foreground color, white by default.

3.3 Output power

  • Pa: automatic output-power selection.
  • P2: 2 mA drive strength.
  • P4: 4 mA drive strength.
  • P6: 6 mA drive strength.
  • P8: 8 mA drive strength.

The code normally uses the foreground color, white by default.

If calibration is applied and the current power differs from the power used during calibration, the power code changes to the disabled-calibration color, red by default. Turning APPLY off disables this comparison, so the power code returns to its normal color.

3.4 Data smoothing

When smoothing is enabled, the left column shows its factor:

  • s1
  • s2
  • s4
  • s5
  • s6

No smoothing code is shown when the factor is zero.

4. Main menu

The top-level menu contains:

  • DISPLAY
  • MARKER
  • STIMULUS
  • CALIBRATE
  • RECALL
  • MEASURE
  • SD CARD
  • CONFIG
  • PAUSE SWEEP or RESUME SWEEP

PAUSE SWEEP stops continuous sweeping. The button then changes to RESUME SWEEP; selecting it restarts sweeping.

5. DISPLAY menu

DISPLAY controls traces, displayed quantities, graph scaling, time-domain transformation, IF bandwidth, and data smoothing.

Most trace-specific operations act on the active trace. The active trace is identified by an arrow in the top information area and by a check mark in DISPLAY > TRACE.

5.1 TRACE

TRACE 1 through TRACE 4

Selecting a disabled trace enables it and makes it active. Selecting an enabled trace that is not active makes it active. Selecting the already-active trace disables it.

Each enabled trace uses its assigned color.

STORE TRACE / CLEAR TRACE

STORE TRACE copies the current active trace's plotted coordinates into a stored trace. The stored trace remains fixed while new sweeps update the ordinary traces.

When a stored trace exists, the button changes to CLEAR TRACE. Selecting it removes the stored trace.

The H and H4 builds in this repository provide one stored trace. Stored-trace support and its count are compile-time settings.

5.2 FORMAT S11 (REFL)

This menu assigns the active trace to S11 and selects how its data is displayed.

  • LOGMAG: logarithmic magnitude in dB.
  • PHASE: phase in degrees.
  • DELAY: group delay in seconds.
  • SMITH: complex S11 data on a Smith or admittance chart.
  • SWR: standing-wave ratio.
  • RESISTANCE: resistance R in ohms.
  • REACTANCE: reactance X in ohms.
  • |Z|: impedance magnitude in ohms.
  • POLAR: complex data on a polar chart.
  • LINEAR: linear magnitude.
  • REAL: real component of S11.
  • IMAG: imaginary component of S11.
  • Q FACTOR: calculated quality factor.
  • CONDUCTANCE: conductance G in siemens.
  • SUSCEPTANCE: susceptance B in siemens.
  • |Y|: admittance magnitude in siemens.
  • Z PHASE: impedance phase in degrees.
  • SERIES C: equivalent series capacitance in farads.
  • SERIES L: equivalent series inductance in henries.
  • PARALLEL R: equivalent parallel resistance in ohms.
  • PARALLEL X: equivalent parallel reactance in ohms.
  • PARALLEL C: equivalent parallel capacitance in farads.
  • PARALLEL L: equivalent parallel inductance in henries.

MORE opens the next page of formats.

S11 Smith marker-value formats

Selecting SMITH when S11 Smith format is already active opens a second menu controlling the marker readout:

  • LIN: linear magnitude and phase.
  • LOG: logarithmic magnitude in dB and phase.
  • Re + Im: real and imaginary components.
  • R + jX: resistance and reactance in ohms.
  • R + L/C: resistance plus equivalent inductance or capacitance.
  • G + jB: conductance and susceptance in siemens.
  • G + L/C: conductance plus equivalent parallel inductance or capacitance.
  • Rp + jXp: parallel resistance and reactance in ohms.
  • Rp + L/C: parallel resistance plus equivalent parallel inductance or capacitance.

Formats based on admittance cause the firmware to draw an admittance grid instead of the ordinary Smith grid.

5.3 FORMAT S21 (THRU)

This menu assigns the active trace to S21 and selects how its data is displayed.

  • LOGMAG: logarithmic magnitude in dB.
  • PHASE: phase in degrees.
  • DELAY: group delay in seconds.
  • SMITH: complex S21 data on a Smith chart.
  • POLAR: complex data on a polar chart.
  • LINEAR: linear magnitude.
  • REAL: real component of S21.
  • IMAG: imaginary component of S21.
  • SERIES R: calculated resistance for a series test arrangement.
  • SERIES X: calculated reactance for a series test arrangement.
  • SERIES |Z|: calculated impedance magnitude for a series test arrangement.
  • SHUNT R: calculated resistance for a shunt test arrangement.
  • SHUNT X: calculated reactance for a shunt test arrangement.
  • SHUNT |Z|: calculated impedance magnitude for a shunt test arrangement.
  • Q FACTOR: calculated S21 quality factor.

MORE opens the series, shunt, and Q formats.

S21 Smith marker-value formats

Selecting SMITH when S21 Smith format is already active opens its marker-readout menu:

  • LIN: linear magnitude and phase.
  • LOG: logarithmic magnitude in dB and phase.
  • Re + Im: real and imaginary components.
  • R+jX SHUNT: calculated shunt resistance and reactance.
  • R+L/C SH..: calculated shunt resistance plus inductance or capacitance.
  • R+jX SERIES: calculated series resistance and reactance.
  • R+L/C SER..: calculated series resistance plus inductance or capacitance.

5.4 CHANNEL

CHANNEL switches the active trace between S11 (REFL) and S21 (THRU) without changing its format.

It operates only for formats supported by both channels: LOGMAG, PHASE, DELAY, LINEAR, REAL, IMAG, POLAR, and SMITH.

5.5 SCALE

Scale operations apply only to the active rectangular trace. They do nothing if no trace is active or if the active trace uses a Smith or polar grid.

AUTO SCALE

Scans all displayed values of the active trace, chooses a scale per division, and positions the trace around the midpoint of its minimum and maximum values. The calculation adds a margin when the values are not equal.

After scaling, the firmware closes the menu.

TOP

Sets the value represented by the top of the graph. The firmware recalculates scale per division and reference position while retaining the current bottom value.

BOTTOM

Sets the value represented by the bottom of the graph. The firmware recalculates scale per division and reference position while retaining the current top value.

SCALE/DIV

Sets the active trace's value per vertical grid division. Units depend on the trace format.

REFERENCE POSITION

Sets the active trace's reference position in vertical grid divisions. The left-edge reference symbol moves to that position.

E-DELAY

Sets electrical delay for the active trace's channel, independently for S11 and S21. The value is stored in seconds.

During a sweep, the firmware applies a frequency-dependent phase rotation to that channel's complex measurement data. A nonzero value is also shown as Edelay with a distance calculated from velocity factor.

S21 OFFSET

Sets an S21 magnitude offset in dB. The firmware converts the dB value to a linear amplitude multiplier and applies it to S21 data during a sweep.

A nonzero value appears in the top information area as S21 offset.

SHOW GRID VALUES

Toggles numeric values beside the horizontal grid lines. Values are based on the active trace's scale and reference position. They are not drawn for Smith or polar traces.

DOT GRID

Toggles dotted grid rendering. When enabled, the firmware draws every second pixel along grid lines.

5.6 TRANSFORM

The transform menu controls conversion of frequency-domain measurements to time-domain data.

TRANSFORM ON / OFF

Toggles time-domain mode. Enabling it changes the plot data and footer to time and distance. It also selects marker control for the lever.

LOW PASS IMPULSE

Selects the low-pass impulse transform function.

LOW PASS STEP

Selects the low-pass step transform function.

BANDPASS

Selects the band-pass transform function.

These three functions are mutually exclusive.

WINDOW

Cycles through the FFT window settings:

  • MINIMUM
  • NORMAL
  • MAXIMUM

Before the inverse transform, the firmware applies a Kaiser window with these beta values:

  • MINIMUM: 0, equivalent to a rectangular window;
  • NORMAL: 6;
  • MAXIMUM: 13.

VELOCITY F.

Sets velocity factor as a percentage. The firmware uses it when converting time-domain delay to distance. The default is 70%.

5.7 IF BANDWIDTH

Selects the measurement bandwidth shown as BW at the bottom of the screen.

The available values in the current H and H4 source configuration are:

  • 4000 Hz
  • 2000 Hz
  • 1000 Hz
  • 333 Hz
  • 100 Hz
  • 30 Hz

In the current H and H4 builds, one DSP block contains 48 ADC sample pairs at a 192 kHz sample rate, so the base block rate is 4000 blocks per second. The displayed value is this 4000 Hz rate divided by the number of consecutive blocks accumulated for one channel at one sweep point:

  • 4000 Hz: 1 block
  • 2000 Hz: 2 blocks
  • 1000 Hz: 4 blocks
  • 333 Hz: 12 blocks
  • 100 Hz: 40 blocks
  • 30 Hz: 132 blocks; integer division displays 4000 / 132 as 30 Hz

This accumulation occurs within the current sweep point. The firmware sets one sweep frequency and leaves it unchanged while it resets the DSP accumulator, processes the selected number of consecutive sample blocks, and calculates one complex S11 result and one complex S21 result for that point. Only after storing those results does the sweep loop advance to the next frequency. It does not combine neighboring frequency points or measurements retained from earlier completed sweeps.

Lower bandwidth settings therefore process more samples at each frequency and take longer per sweep point. This is distinct from DATA SMOOTH, which combines neighboring points after a sweep.

5.8 DATA SMOOTH

Data smoothing modifies the measured complex samples after a sweep. It processes real and imaginary components separately.

For each interior sweep point, one smoothing pass replaces its value with a three-point mean of:

  • the preceding point;
  • the current point;
  • the following point.

The first and last points are not replaced. Multiple passes repeat this operation over the already-smoothed data.

SMOOTH Geom avg / SMOOTH Arith avg

Selects the three-point mean:

  • Geom: signed geometric mean. The magnitude is the cube root of the absolute product of the three values; the sign is negative when their sum is negative.
  • Arith: weighted arithmetic mean, calculated as (previous + 2 x current + next) / 4.

This button changes the method but does not turn smoothing on by itself.

SMOOTH OFF

Sets the smoothing factor to zero. No smoothing pass is applied and the left-side smoothing code disappears.

x1, x2, x4, x5, x6

Selects the smoothing factor shown in the left status column. The implementation maps that factor to the following number of three-point passes:

  • x1: 1 pass
  • x2: 2 passes
  • x4: 8 passes
  • x5: 16 passes
  • x6: 32 passes

These pass counts follow the source expression 1 << (factor - 1). The menu does not provide x3.

6. MARKER menu

Markers identify sweep points and display the corresponding trace values.

6.1 SELECT MARKER

MARKER 1 through MARKER 8

Selecting a disabled marker enables it and makes it active.

Selecting an enabled marker that is not active makes it active. The previously active marker becomes the previous marker.

Selecting the active marker disables it. The firmware then attempts to select another enabled marker.

The active marker uses the active-marker menu symbol. Other enabled markers use an ordinary check mark.

ALL OFF

Disables all markers and clears the active and previous marker selections.

DELTA

Toggles delta-marker display.

When enabled, marker readouts other than the active marker are shown as differences from the active marker. Frequency differences are displayed as absolute magnitudes; trace values use their format-specific delta calculation.

6.2 SEARCH MAXIMUM / SEARCH MINIMUM

Selects the marker-search mode and immediately searches the active trace:

  • MAXIMUM: moves the active marker to the greatest plotted vertical value.
  • MINIMUM: moves the active marker to the smallest plotted vertical value.

Search uses the active trace's plotted coordinates. It requires an active trace and active marker.

6.3 SEARCH <- LEFT

Moves the active marker to the next local maximum or minimum to its left, according to the selected search mode.

It starts from the active marker's current point. If no matching point is found, the marker is not moved. Selecting this command disables marker tracking.

6.4 SEARCH -> RIGHT

Moves the active marker to the next local maximum or minimum to its right. Its other behavior is the same as SEARCH <- LEFT.

6.5 OPERATIONS

Marker operations copy the active marker's position into another setting. They require an active marker.

-> START

Sets the sweep start frequency to the active marker frequency.

-> STOP

Sets the sweep stop frequency to the active marker frequency.

-> CENTER

Sets the sweep center frequency to the active marker frequency.

-> SPAN

With only one relevant marker, sets the span to twice the distance between the marker and the current center frequency. This places the marker at one edge while preserving the center.

With an active marker and a distinct previous marker, sets sweep start and stop to the lower and higher marker frequencies.

-> E-DELAY

Adds the group delay at the active marker to the electrical-delay setting of the active trace's channel.

This operation requires an active trace. It then closes the menu.

6.6 TRACKING

Toggles marker tracking.

When enabled, the firmware reruns the selected maximum/minimum search after new sweep data is plotted. The active marker therefore follows the searched extreme as the trace changes.

7. STIMULUS menu

STIMULUS controls sweep frequencies, lever step size, and point count.

7.1 START

Sets the sweep start frequency. Changing it selects start/stop display mode.

7.2 STOP

Sets the sweep stop frequency. Changing it selects start/stop display mode.

7.3 CENTER

Sets the center frequency. Changing it selects center/span display mode.

7.4 SPAN

Sets the frequency span. Changing it selects center/span display mode.

The frequency increment between adjacent sweep points is:

span / (points - 1)

7.5 CW FREQ

Sets continuous-wave frequency by making the sweep start and stop frequencies equal. The footer then displays CW.

7.6 FREQ STEP

Sets the frequency spacing between adjacent sweep points. The displayed current value is calculated from span divided by one less than the point count.

Applying a new frequency step changes the span to:

step × (points - 1)

7.7 JOG STEP

Sets the amount by which the lever changes a selected frequency.

  • A value of zero is displayed as AUTO.
  • A nonzero value is displayed in hertz.

When the lever is controlling electrical delay instead of frequency, this menu entry edits the electrical-delay jog step in seconds.

7.8 SWEEP POINTS

Sets how many frequency samples are measured across the sweep.

SET POINTS

Opens the numeric keypad for direct point-count entry. The firmware clamps the result to the supported minimum and maximum.

The minimum is 21 points. The H maximum is 101 points. (The H4 maximum is 401 points.)

Presets

The H provides:

  • 51 point
  • 101 point

The H4 additionally provides:

  • 201 point
  • 301 point
  • 401 point

8. CALIBRATE menu

Calibration stores measured standards and calculates error terms used to correct subsequent S11 and S21 samples.

The calibration range, point count, and output-power setting are recorded when a standard is collected. Collecting a standard turns APPLY off until calibration is completed again.

8.1 CALIBRATE

Each standard button performs a sweep immediately and stores one channel's complex data:

  • OPEN, SHORT, and LOAD collect S11 data.
  • ISOLN and THRU collect S21 data.

During collection, if the selected IF bandwidth is wider than 100 Hz, the firmware temporarily uses 100 Hz. Narrower settings are retained. It restores the selected setting after collection.

If the current sweep range or point count differs from the existing calibration, collecting a standard clears the old calibration state and starts a calibration for the current range and point count.

OPEN

Collects S11 data into the OPEN calibration array. The left status column shows O until DONE processes it.

Collecting OPEN clears any previously calculated source-match and reflection-tracking terms.

SHORT

Collects S11 data into the SHORT calibration array. The left status column shows the first S until DONE processes it.

Collecting SHORT clears any previously calculated source-match and reflection-tracking terms.

LOAD

Collects S11 data into the LOAD calibration array. At DONE, this data becomes the directivity error term ED, displayed as D.

If LOAD was not collected, DONE uses zero for ED.

ISOLN

Collects S21 isolation data. At DONE, this data becomes the isolation error term EX, displayed as X.

If ISOLN was not collected, DONE uses zero for EX.

THRU

Collects S21 through data. The left status column shows lowercase t until DONE calculates the transmission-tracking term ET, displayed as uppercase T.

Collecting THRU clears a previously calculated ET term.

DONE

Calculates available error terms, enables APPLY, and opens the SAVE menu.

Processing depends on which standards were collected:

  • OPEN and SHORT together calculate source match (ES) and reflection tracking (ER).
  • OPEN without SHORT uses the OPEN data in place of SHORT, sets ES to zero, and calculates ER with the alternate sign used by the source.
  • SHORT without OPEN sets ES to zero and calculates ER from SHORT.
  • THRU and optional ISOLN calculate ET.
  • Missing directivity and isolation terms default to zero.
  • Missing reflection and transmission tracking terms default to 1 + j0.
  • Missing source match defaults to zero.

The completed calibration is marked C* until saved to an internal slot.

DONE IN RAM

Performs the same calculations as DONE and enables APPLY, but returns to the preceding menu instead of opening SAVE.

The calibration remains marked C* because it is not associated with an internal save slot.

8.2 POWER

POWER selects the Si5351 output drive-strength setting used by the measurement source. These values are drive-current settings, not power values in dBm.

Available settings:

  • AUTO
  • 2 mA
  • 4 mA
  • 6 mA
  • 8 mA

AUTO lets the generator code choose drive settings from its frequency-band table. Manual settings request one fixed drive strength.

The selected setting appears in the left status column as Pa, P2, P4, P6, or P8.

The power setting in use when a standard is collected is recorded as calibration power. If APPLY is enabled after selecting a different power setting, the left-side power code is drawn red by default.

8.3 SAVE

The SAVE menu writes the complete current properties structure, including calibration data, sweep settings, traces, markers, and related display settings.

SAVE TO SD CARD

Writes calibration data to a calibration file on the SD card. This item appears when the SD file browser is compiled in. If automatic naming is disabled, the firmware opens the filename keypad first.

Internal slots

The H provides slots 0 through 4. (H4 provides slots 0 through 6.)

An empty slot is labeled Empty N. A populated slot displays its saved start and stop frequencies.

Selecting a slot overwrites it with the current properties. On success, the firmware records that slot as the active calibration slot, changes C* to its slot number, and closes the menu.

8.4 RANGE

When calibration data exists, this button displays:

  • calibration point count;
  • calibration start frequency;
  • calibration stop frequency.

If the current calibration is interpolated, selecting RANGE restores the calibration's original sweep range and calibration power. The lowercase interpolation indication then returns to the non-interpolated state when the sweep settings match.

If calibration is not interpolated, selecting RANGE makes no change.

8.5 RESET

Clears collected standards, calculated error terms, APPLY, interpolation state, and the internal-slot association.

The ENHANCED RESPONSE flag is deliberately preserved.

8.6 APPLY

Toggles use of calibration error terms during sweeps.

  • Checked: calibration is applied and the left column shows C or c.
  • Unchecked: calibration is not applied and C/c is absent.

When the current sweep range or point layout differs from the calibration, the firmware interpolates each complex error term between calibration points. Values outside the calibrated range are clamped to the nearest endpoint. At a generator harmonic-region boundary, it extrapolates from two points within the same region where possible to avoid interpolating across that boundary. The indicator changes to lowercase c and uses the interpolation color.

8.7 ENHANCED RESPONSE

Toggles an additional S21 correction based on the S11 source-match term and corrected S11 data.

Without Enhanced Response, corrected S21 is calculated from measured S21, isolation, and transmission tracking. With it enabled, the firmware additionally multiplies corrected S21 by:

1 - Es × corrected S11

The left status column shows E while this option is enabled. RESET preserves this setting.

9. RECALL menu

RECALL loads a previously saved properties structure. This replaces the current sweep, calibration, trace, marker, and related properties with the saved values.

9.1 LOAD FROM SD CARD

Opens the SD-card browser for calibration files. This item appears when the SD file browser is compiled in. Loading a valid calibration file copies its stored properties into the current state.

9.2 Internal slots

The H provides slots 0 through 4. (H4 provides slots 0 through 6.)

An empty slot is labeled Empty N. A valid slot displays its saved start and stop frequencies.

Selecting a valid slot loads it and marks it as the active slot. If its calibration is applied, the left status code uses that slot number, such as C0.

10. MEASURE menu

This menu appears when the measurement module is compiled in. Individual modes are separately controlled by its LC-matching, S11 cable, S11 resonance, and S21 measurement build options. All are enabled in the current H and H4 source configuration.

MEASURE enables additional calculations and draws their results over the plot. These modes analyze S11 or S21 sweep data; they do not replace the normal traces.

Selecting a mode changes the menu to a shorter mode-specific version.

10.1 OFF

Disables the measurement overlay and its calculations.

10.2 L/C MATCH

Calculates L-network matching solutions from S11 at the active marker frequency. It uses a source impedance of 50 ohms in the current build.

The overlay starts with:

L/C match for source Z0 = 50.0 ohm

Possible results are:

  • No LC match for this: measured resistance is 0.5 ohm or less.
  • No need for LC match: SWR is 1.1 or less, or the calculated X/R ratio is at least 100.
  • One to four rows of component values.

Solution columns are:

  • Src shunt: component in parallel with the source;
  • Series: series component;
  • Load shunt: component in parallel with the load.

Positive calculated reactance is displayed as inductance in henries. Negative reactance is displayed as capacitance in farads. Zero or unavailable components leave their positions blank.

The result is recalculated after a sweep and when the active marker moves.

10.3 CABLE (S11)

Analyzes S11 data as a cable measurement. The mode searches for the first zero crossing of the imaginary S11 component and fits cable loss over the sweep by parabolic regression.

Depending on the available data and settings, the overlay shows:

  • Z0: calculated characteristic impedance in ohms;
  • Length: calculated length in metres using the configured velocity factor;
  • VF: calculated velocity factor when an actual cable length has been entered;
  • Loss: fitted one-way loss in dB at the active marker frequency;
  • Att (dB/100m): loss normalized to 100 metres.

VELOCITY F.

Sets the velocity factor percentage used to calculate cable length.

CABLE LENGTH

Sets the actual cable length in metres. When nonzero, the firmware calculates velocity factor from this length instead of displaying a length calculated from the configured velocity factor.

Loss at the marker frequency is updated when the active marker moves.

10.4 RESONANCE (S11)

Searches S11 for frequencies where the imaginary component crosses zero. It reports up to six results as:

<frequency>, <resistance> + j<reactance> ohm

The resistance and reactance are interpolated at the detected frequency.

If no zero crossing is found, the firmware reports the sweep point with minimum absolute reactance. If neither method yields a result, it displays Not found.

10.5 SHUNT LC (S21)

Searches for the minimum S21 magnitude-squared point, then searches on either side for phase thresholds calculated from the configured measurement resistance.

The mode sets marker 1 at the detected minimum and markers 2 and 3 at the two threshold crossings.

The overlay heading is LC-SHUNT and may show:

  • Fs: calculated resonant frequency;
  • Lm: calculated inductance;
  • Cm: calculated capacitance;
  • Rm: calculated resistance;
  • Q: calculated quality factor.

If the required points are not found, it displays Not found.

10.6 SERIES LC (S21)

Searches for the maximum S21 magnitude-squared point and the +45-degree and -45-degree phase crossings around it.

The mode sets marker 1 at the detected maximum and markers 2 and 3 at the phase crossings.

The overlay heading is LC-SERIES. It displays the same Fs, Lm, Cm, Rm, and Q fields as the shunt mode, using the series-mode equations in the firmware.

10.7 SERIES XTAL (S21)

First performs the SERIES LC analysis. It then searches for a minimum S21 magnitude-squared point above the calculated series-resonant frequency.

The mode additionally sets marker 4 at that minimum. Its XTAL-SERIES overlay may show:

  • Fs: series-resonant frequency;
  • Lm, Cm, and Rm: calculated motional parameters;
  • Q: calculated quality factor;
  • Fp: detected parallel-resonant frequency;
  • delta F: Fp - Fs;
  • Cp: calculated parallel capacitance.

If the required series result is not found, it displays Not found.

10.8 Rl

The S21 LC and crystal submenu includes Rl, the resistance used by their equations. The default is 50 ohms.

Changing Rl sets config._measure_r. The shunt and series equations use this value as their measurement/load resistance.

10.9 FILTER (S21)

Analyzes S21 logarithmic magnitude. It first finds the maximum value. If that maximum is below -50 dB, the overlay shows only the S21 FILTER heading.

Marker 1 is placed at the maximum. Markers 2 and 3 are placed at the left and right -3 dB crossings when found.

For a response with both -3 dB sides, the overlay reports:

  • center frequency f, calculated as the geometric mean of the two -3 dB frequencies;
  • maximum level in dB;
  • -3 dB bandwidth;
  • -6 dB bandwidth;
  • Q, calculated as center frequency divided by -3 dB bandwidth;
  • low-side and high-side -3 dB and -6 dB frequencies;
  • roll-off in dB per decade and dB per octave, calculated from the -10 dB and -20 dB crossings.

If only one side is found, it identifies it as High-pass or Low-pass and displays the available crossing frequencies and roll-off. If no two-sided center is found, f is the maximum-point frequency.

11. SD CARD menu

This menu appears when SD-card support is compiled in. Loading and browsing require the file-browser option; TIFF screenshots, firmware dumping, and command scripts have additional build options. All are enabled in the current H and H4 source configuration.

The SD-card functions save and load files in the card's root directory. Saving pauses an active sweep. After the operation, the previous sweep state is restored.

When AUTO NAME is off, selecting a save command opens the text keypad. Enter the base name only; the firmware appends the appropriate extension.

Creating a file uses overwrite mode. Saving with a name that already exists replaces that file without a confirmation prompt.

11.1 LOAD

Opens a submenu for browsing supported files:

  • LOAD SCREENSHOT
  • LOAD S1P
  • LOAD S2P
  • LOAD CAL

The browser lists only files with the selected extension. Use < and > to change pages and X to leave the browser.

DEL toggles delete mode. While it is highlighted, selecting a file deletes it immediately, leaves delete mode, and refreshes the browser. There is no confirmation prompt.

The lever moves the selection; press it to activate the selected control or file. Touch controls may also be selected directly.

LOAD SCREENSHOT

Displays a screenshot file on the LCD and prints its filename near the bottom of the screen. The image must match the current model's LCD width, height, and supported saved-image format.

While viewing screenshots, lever left and right, or touching the left and right thirds of the screen, loads the previous or next image. Press the lever or touch the center third to stop viewing.

LOAD S1P and LOAD S2P

Loads Touchstone data into the measurement arrays and pauses sweeping. The importer supports the format written by this firmware: frequency in hertz, S-parameters as real and imaginary pairs, with a 50-ohm reference.

On a successful load, the firmware:

  • sets the sweep point count to the number of imported records;
  • sets start and stop to the first and last imported frequencies;
  • clears both channels' electrical delays;
  • places imported S11 in channel 0;
  • places imported S21 in channel 1 for S2P files;
  • sets channel 1 to zero for S1P files;
  • redraws the plot while leaving the sweep paused.

The importer ignores comment and option lines rather than interpreting alternate Touchstone units, parameter types, or data representations.

LOAD CAL

Loads a .cal file containing a complete saved properties structure. The file must have the exact expected size and properties magic value for the running firmware.

A successful load replaces the current properties and identifies the calibration as RAM/file-loaded rather than associated with an internal slot.

11.2 SAVE S1P

Writes the current sweep as Touchstone 1.1 text with extension .s1p.

The header specifies:

# Hz S RI R 50

Each sweep point contains frequency followed by the real and imaginary S11 values.

11.3 SAVE S2P

Writes the current sweep as Touchstone 1.1 text with extension .s2p.

Each point contains frequency, S11 real and imaginary, and S21 real and imaginary. The remaining S-parameter pairs are written as zero, so the row represents S11 and S21 measurements rather than a complete four-parameter two-port acquisition.

11.4 SCREENSHOT

Captures the complete current LCD image. The firmware first closes the menu and redraws the normal measurement screen.

The normal build writes a 16-bit RGB565 BMP V4 file with the current LCD dimensions and extension .bmp.

IMAGE FORMAT appears only when TIFF screenshot support is compiled in. In that build it selects BMP or 24-bit RGB TIFF with PackBits compression; SCREENSHOT and LOAD SCREENSHOT follow the selected format.

11.5 SAVE CALIBRATION

Writes the complete current properties structure as a binary .cal file. This includes calibration arrays and status together with sweep, trace, marker, power, delay, and related measurement settings.

The file is firmware-structure dependent; loading verifies its exact size and magic value.

11.6 AUTO NAME

Controls whether save commands request a filename.

  • Off: the text keypad requests a base filename.
  • On: the firmware generates a name from the RTC date and time.

With long filenames enabled, the generated form is:

VNA_<date>_<time>.<extension>

The date and time fields are six-digit packed BCD values read from the RTC. Builds without long-filename support instead use an eight-character FAT timestamp value.

12. CONFIG menu

The current H and H4 builds include all settings described below except BRIGHTNESS, which is H4-only. Individual entries can be removed by their build options.

Configuration data is separate from the properties stored by calibration slots. SAVE CONFIG writes the config_t device configuration; it does not save the current calibration-slot properties.

12.1 TOUCH CAL

Runs two-point touch calibration. Touch the displayed targets at the upper-left and lower-right corners. The raw coordinates are stored in the current configuration.

Use SAVE CONFIG to retain the new touch calibration in flash.

12.2 TOUCH TEST

Clears the screen and displays touch coordinates while drawing the path of a drag. Press the lever button to finish.

12.3 EXPERT SETTINGS

These controls change low-level generator, measurement, display, and startup settings.

THRESHOLD

Sets the base frequency at which the generator's harmonic operating regions begin. The default is 300.0001 MHz.

The selected generator MODE uses this threshold when interpreting frequency-band entries expressed as harmonic multiples. Changing it directly changes generator band selection; the firmware does not automatically update existing calibration data.

TCXO

Sets the reference oscillator frequency used by the Si5351 calculations. The default is 26 MHz.

Selecting a value resets the generator's cached settings and applies the new reference frequency.

VBAT OFFSET

Sets the correction offset, in millivolts, used by battery-voltage conversion. The default is 420 mV.

This affects the voltage shown on the version screen and the battery indicator's calculated voltage.

IF OFFSET

Selects the measurement intermediate-frequency offset. H and H4 builds provide:

  • 4 kHz
  • 8 kHz
  • 12 kHz
  • 16 kHz
  • 20 kHz
  • 24 kHz
  • 28 kHz
  • 32 kHz

Changing the offset resets the Si5351 frequency cache and regenerates the DSP table for the selected frequency.

The exact list is compile-time dependent on the audio ADC rate and FREQUENCY_OFFSET_STEP.

REMEMBER STATE

Controls restoration of selected operating state at startup.

When enabled and a valid saved configuration is present, startup attempts to restore:

  • the active internal properties slot;
  • sweep point count;
  • start and stop frequencies;
  • frequency jog step;
  • IF bandwidth;
  • lever mode;
  • brightness;
  • configuration mode flags.

If the recorded slot is invalid, startup attempts to recall slot 0. If REMEMBER STATE is disabled, startup also attempts to recall slot 0 after loading the saved device configuration.

Runtime backup values are maintained separately from SAVE CONFIG, but the enable flag itself must be in a valid saved configuration to control startup restoration.

FLIP DISPLAY

Rotates the LCD orientation and touch coordinates by 180 degrees. It also swaps the physical lever directions so their on-screen behavior remains consistent.

DFU > RESET AND ENTER DFU

Stops touch-watchdog handling, displays a DFU message, and resets into Device Firmware Update mode. Reset the device to leave DFU mode after updating.

MORE > MODE

Cycles among three generator band-strategy tables:

  • Si5351
  • MS5351
  • SWC5351

The selected table controls frequency regions, divider or multiplier strategy, automatic drive strengths, offsets, and harmonic factors used by the generator. It is a hardware-specific setting.

MORE > SEPARATOR

Selects DOT '.' or COMMA ',' as the numeric decimal separator used on frequency and marker displays.

MORE > USB DEVICE UID

When enabled, the USB serial-number string is generated from the MCU's unique identifier. When disabled, the firmware uses its fixed USB serial string.

The new descriptor is used when the USB host next requests it; the menu callback does not itself reconnect USB.

MORE > DUMP FIRMWARE

This item appears only when firmware-dump support is compiled in. It writes the entire MCU flash region to a .bin file on the SD card, using the normal SD-card naming behavior.

MORE > LOAD COMMAND SCRIPT

This item appears when SD command-script loading is compiled in. It opens the browser for .cmd files and executes each carriage-return-terminated line through the firmware shell command parser.

Line-feed and other control characters are skipped. A final line without a carriage return is not executed by this loader.

MORE > CLEAR CONFIG > CLEAR ALL AND RESET

Erases the complete flash storage area used for device configuration and all internal properties/calibration slots, then immediately resets the MCU.

There is no confirmation after selecting CLEAR ALL AND RESET from its submenu. Defaults are used after reset because the saved records no longer validate.

12.4 SAVE CONFIG

Writes the current device configuration to flash with its magic value and checksum, then closes the menu.

Saved configuration includes:

  • harmonic threshold and IF offset;
  • touch calibration;
  • mode flags such as Auto Name, connection, Remember State, Flip Display, separator, and USB UID;
  • battery offset and IF bandwidth;
  • lever mode and brightness;
  • serial speed and TCXO frequency;
  • measurement resistance;
  • generator band mode;
  • LCD palette data.

Current sweep, traces, markers, and calibration error terms are not part of this configuration record; they belong to the properties saved in calibration slots or .cal files.

12.5 CONNECTION

This submenu appears when serial-console support is compiled in.

CONNECTION

Selects the shell-console transport:

  • USB: USB virtual COM port;
  • SERIAL: hardware serial port.

Changing the selection resets the shell console to use the selected transport.

SERIAL SPEED

Selects the hardware serial bit rate:

  • 19200
  • 38400
  • 57600
  • 115200
  • 230400
  • 460800
  • 921600
  • 1843200
  • 2000000
  • 3000000 baud

The setting is applied immediately to the hardware serial driver. It does not affect the USB virtual COM transport.

12.6 VERSION

Displays firmware and hardware information, including:

  • board name and compiled firmware information;
  • MCU serial-number words;
  • configured TCXO frequency;
  • RTC date and time, when RTC support is enabled;
  • calculated battery voltage.

The RTC line also identifies the selected clock source as LSE or LSI. Press the lever or touch the screen to return.

12.7 BRIGHTNESS

Sets LCD brightness from 0% to 100% in 5% steps. (H4 only.)

Move the lever left or right to adjust the live brightness, then press it to accept the value. Use SAVE CONFIG, or enabled state backup, to retain the selected value according to the corresponding persistence mechanism.

12.8 DATE/TIME

This submenu appears when RTC support is enabled.

SET DATE

Accepts six digits in YYMMDD order. Month is limited to 1–12 and day to the maximum for the selected month. The source's month table does not add leap-day handling.

SET TIME

Accepts six digits in HHMMSS order. Values are limited to 23 hours, 59 minutes, and 59 seconds.

RTC CAL

Sets the RTC calibration value in parts per million. The displayed value is read back from the RTC calibration implementation.

RTC 512 Hz / Led2

Toggles the RTC 512 Hz clock output on the board's second LED/output connection. The button displays ON and a check mark while enabled, otherwise OFF.

No comments:

Post a Comment

Popular Posts