Skip to content

Console Commands

Beyond the NanoVNA-Saver graphical interface, you can control the NanoVNA-F V3 directly through its serial console. This is useful for scripting automated measurements, debugging, or accessing low-level device functions.

NanoVNA-F V3 console command session in PuTTY
  1. Connect the NanoVNA-F V3 to your PC via USB Type-C and power it on.

  2. Open a serial terminal. Common options:

    • Windows: PuTTY, Tera Term
    • Linux: minicom, screen, picocom
    • macOS: screen, minicom
  3. Configure the connection:

    • Port: The COM port or device path for the NanoVNA-F V3 (e.g., COM3 on Windows, /dev/ttyACM0 on Linux)
    • Baud rate: 115200 (the device is adaptive, but 115200 is the standard setting)
    • Data bits: 8
    • Stop bits: 1
    • Parity: None
    • Flow control: None
  4. Press Enter to get a command prompt. Type help to verify the connection is working.

Linux quick-connect example:

Terminal window
screen /dev/ttyACM0 115200
Terminal window
picocom /dev/ttyACM0 -b 115200

Commands are plain ASCII text, terminated by a carriage return (CR, ASCII 013). Most terminals send CR when you press Enter.

command {required_parameter} [optional_parameter]
  • Curly braces { } indicate required parameters
  • Square brackets [ ] indicate optional parameters
  • Space characters between tokens are ignored
  • Commands are case-sensitive (most are lowercase, but SN, LCD_ID are uppercase)

Here are the commands you will reach for most often. For the full list of all 28 commands with detailed parameter tables, see the Console Command Reference.

CommandWhat It Returns
versionFirmware version string
infoHardware revision, firmware, build info
SNUnique 16-bit serial number
CommandExampleDescription
sweepsweep 100000000 500000000 201Set sweep: 100 MHz to 500 MHz, 201 points
sweep start 50000000Change only the start frequency to 50 MHz
pauseFreeze the sweep
resumeContinue sweeping
CommandExampleDescription
frequenciesList all sweep point frequencies
data 0Get S11 complex data (real + imaginary)
data 1Get S21 complex data
scan 1000000 6000000000 101 7Sweep 1 MHz to 6 GHz, 101 points, output all data
CommandDescription
calShow current calibration status
cal openPerform open calibration step
cal shortPerform short calibration step
cal loadPerform load calibration step
cal thruPerform through calibration step
cal doneCompute calibration coefficients
save 0Save to slot 0
recall 0Recall from slot 0
trace 0 logmag # Set trace 0 to log magnitude
trace 0 scale 10 # Set 10 dB per division
marker 1 on # Enable marker 1
marker 1 200 # Move marker 1 to sweep point 200

You can pipe commands to the device from a shell script for automated measurements. Here is a minimal Python example:

import serial
import time
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=2)
time.sleep(0.5)
# Set sweep range
ser.write(b'sweep 430000000 440000000 201\r')
time.sleep(0.1)
# Wait for sweep to complete
time.sleep(3)
# Read S11 data
ser.write(b'data 0\r')
time.sleep(0.5)
response = ser.read(ser.in_waiting).decode('ascii')
print(response)
ser.close()

  • One connection at a time. If NanoVNA-Saver is connected, close it before opening a serial terminal, and vice versa.
  • The reset command drops USB. After sending reset, you must reconnect your terminal session.
  • Use cal reset before recalibrating via console. This clears the previous calibration state.
  • Save your work. Console-issued calibrations are volatile until you run save [slot].