Skip to content

Shell Command Overview

The NanoVNA-H provides a command-line shell interface over USB CDC (Virtual COM Port) or serial USART. This page lists all available commands with brief descriptions.

Connect via USB and open a serial terminal:

  • Windows: Use PuTTY, Tera Term, or similar with the COM port
  • Linux: screen /dev/ttyACM0 115200 or minicom
  • macOS: screen /dev/tty.usbmodem*

USART1 (PA9 TX, PA10 RX) at configured baud rate (default 115200).

ch>
Command Description Category Flags
scan Perform frequency scan and output data Sweep & Measurement mutexbreak
scan_bin * Binary format frequency scan output Sweep & Measurement mutexbreak
freq Set or query center frequency Sweep & Measurement mutexbreakuiload
sweep Set sweep start/stop/center/span/points Sweep & Measurement mutexbreakuiload
power Set Si5351 output drive strength Sweep & Measurement load
offset * Set IF offset frequency Sweep & Measurement mutexuiload
bandwidth Set measurement bandwidth (sample count) Sweep & Measurement load
pause Pause sweep Sweep & Measurement breakuiload
resume Resume sweep Sweep & Measurement mutexbreakuiload
cal Perform calibration steps (open/short/load/thru) Calibration mutex
save Save calibration to flash slot Calibration load
recall Recall calibration from flash slot Calibration mutexbreakuiload
trace Configure trace format, channel, enable/disable Trace & Marker load
marker Set marker position and properties Trace & Marker load
edelay Set electrical delay compensation Trace & Marker load
s21offset Set S21 port-through offset (dB) Trace & Marker load
smooth * Set trace smoothing level Trace & Marker mutexbreakuiload
transform * Configure time domain transform Trace & Marker load
config * Set device configuration options Configuration mutexbreakuiload
saveconfig Save current configuration to flash Configuration load
clearconfig Reset configuration to factory defaults Configuration load
tcxo Set TCXO reference frequency for calibration Configuration load
threshold Set harmonic frequency threshold Configuration load
vbat Read battery voltage Configuration load
vbat_offset * Calibrate battery voltage ADC offset Configuration load
color * Set trace/UI color palette Configuration load
time * Set or read RTC date/time Configuration ui
usart_cfg * Configure serial port parameters Configuration mutexbreakuiload
usart * Send data via serial port Configuration mutexbreakuiload
data Output measured S-parameter data Data Export
frequencies Output sweep frequency list Data Export
capture Output screen capture as bitmap Data Export mutexbreakui
gamma Output raw gamma (reflection coefficient) data Data Export
sample * Output raw ADC samples Data Export
dump * Dump raw memory/register data Data Export mutexbreak
measure * Run measurement module (LC/crystal/filter/cable) Data Export mutexbreakuiload
sd_list * List files on SD card SD Card mutexbreakui
sd_read * Read/execute file from SD card SD Card mutexbreakui
sd_delete * Delete file from SD card SD Card mutexbreakui
msg * Display message on screen from SD script SD Card mutexbreakload
reset Reset the device Debug & System mutexbreakload
help List available commands Debug & System
version Show firmware version Debug & System
info * Show device information and build details Debug & System
test * Run hardware self-test Debug & System
stat * Show sweep timing statistics Debug & System mutex
threads * Show ChibiOS thread status Debug & System
port * Select audio codec input port (TX/RX) Debug & System load
touchcal Calibrate touchscreen Debug & System mutexbreak
touchtest Test touchscreen input Debug & System mutexbreak
dac * Set DAC output value Debug & System load
gain * Set codec analog gain Debug & System mutex
i2c * Raw I2C bus operations Debug & System mutex
si * Write Si5351 registers directly Debug & System mutex
lcd * LCD controller commands Debug & System mutex
b * Show/set frequency band configuration Debug & System mutex
t * Configure Si5351 timing parameters Debug & System mutex
i * Configure I2C bus timing parameters Debug & System mutex
refresh * Send screen framebuffer to PC Debug & System mutexbreakui
touch * Simulate touch press at coordinates Debug & System mutexbreakui
release * Simulate touch release Debug & System mutexbreakui
CommandDescriptionPage
scanPerform sweep, output dataSweep
scan_binBinary output scanSweep
freqSet/get CW frequencySweep
sweepSet/get sweep range and pointsSweep
powerSet/get output powerSweep
bandwidthSet/get IF bandwidthSweep
pausePause sweepSweep
resumeResume sweepSweep
CommandDescriptionPage
calCalibration operationsCalibration
saveSave calibration to slotCalibration
recallLoad calibration from slotCalibration
CommandDescriptionPage
traceConfigure tracesTrace/Marker
markerConfigure markersTrace/Marker
edelaySet electrical delayTrace/Marker
s21offsetSet S21 offsetTrace/Marker
transformTime domain settingsTrace/Marker
smoothData smoothingTrace/Marker
CommandDescriptionPage
configGet/set configurationConfiguration
saveconfigSave configuration to flashConfiguration
clearconfigReset configurationConfiguration
tcxoSet TCXO frequencyConfiguration
thresholdSet harmonic thresholdConfiguration
vbatRead battery voltageConfiguration
vbat_offsetSet battery offsetConfiguration
colorSet display colorsConfiguration
usartSerial console controlConfiguration
usart_cfgSerial port configurationConfiguration
timeRTC date/timeConfiguration
touchcalTouch screen calibrationConfiguration
touchtestTouch screen testConfiguration
CommandDescriptionPage
dataOutput measured dataData Export
frequenciesOutput frequency listData Export
captureScreen capture (binary)Data Export
dumpDump raw ADC samplesData Export
measureMeasurement resultsData Export
CommandDescriptionPage
sd_listList SD card filesSD Card
sd_readRead SD card fileSD Card
sd_deleteDelete SD card fileSD Card
CommandDescriptionPage
infoDevice informationDebug
versionFirmware versionDebug
helpList commandsDebug
resetReset deviceDebug
threadsThread info (debug)Debug
CommandDescriptionPage
refreshGet screen dataDebug
touchSimulate touchDebug
releaseSimulate touch releaseDebug

Commands have execution flags that control when they can run:

FlagDescription
CMD_WAIT_MUTEXMust run in sweep thread with mutex
CMD_BREAK_SWEEPInterrupts ongoing sweep
CMD_RUN_IN_UICan run while UI is processing
CMD_RUN_IN_LOADCan run from SD card script

All commands available in firmware v1.2.44:

scan scan_bin data frequencies freq sweep power bandwidth
time sd_list sd_read sd_delete saveconfig clearconfig dump
touchcal touchtest pause resume cal save recall trace marker
edelay s21offset capture measure refresh touch release vbat
tcxo reset smooth config usart_cfg usart vbat_offset transform
threshold help info version color
command [arg1] [arg2] [arg3] [arg4]

Maximum 4 arguments, 64 characters per line.

Frequencies can be entered as:

  • Plain number: 1000000 (1 MHz)
  • With k suffix: 1000k (1 MHz)
  • With M suffix: 1M (1 MHz)
  • With G suffix: 1.5G (1.5 GHz)
  • Integers: 101, 4000
  • Floats: 1.5, -3.2
  • Hex: 0xFF
ch> info
Board: NanoVNA-H
2019-2025 Copyright NanoVNA.com
Version: 1.2.44
ch> sweep 1M 100M 101
ch> cal open
ch> cal short
ch> cal load
ch> cal done
ch> save 0
ch> data 0
0.001234 0.005678
0.001245 0.005689
...
ch> pause
ch> resume

Command definitions are located in:

  • Command table: main.c lines 2912-3033
  • Command implementations: main.c (various locations)
  • Shell processing: main.c lines 3050-3200