Your First Multi-VNA Measurement
In this tutorial, you’ll use two NanoVNA devices together to measure and compare two antennas side-by-side. By the end, you’ll understand device discovery, targeting, and software-synchronized sweeps.
What You’ll Learn
- Discover all connected VNAs
- Target specific devices
- Run synchronized sweeps
- Compare antenna performance
Prerequisites
- Two NanoVNA-H devices connected via USB
- Two antennas to compare (or one antenna with two feedlines)
- mcnanovna MCP server installed
Discover Your Devices
-
Connect both VNAs
Plug both NanoVNA devices into USB ports. Each needs its own port.
-
List devices
Say: “List all connected NanoVNA devices”
The assistant calls
list_devices()and returns something like:{"devices": [{"device_id": "0001234567", "port": "/dev/ttyACM0", "board": "NanoVNA-H4"},{"device_id": "0009876543", "port": "/dev/ttyACM1", "board": "NanoVNA-H"}],"default": "0001234567","count": 2} -
Note the device IDs
Each VNA has a unique
device_id(its serial number or port path). Write these down:Device ID Connected Antenna 0001234567 Antenna A 0009876543 Antenna B
Set Up Device Targeting
With multiple VNAs, you have two options for targeting:
Option 1: Set a Default
If you’ll mostly use one VNA:
Say: “Set device 0001234567 as the default”
Now all single-device tools (scan, analyze, etc.) will target that VNA unless you specify otherwise.
Option 2: Specify Each Time
Add device_id to any tool call:
Say: “Scan from 144 to 148 MHz on device 0009876543”
Calibrate Each VNA
-
Calibrate the first VNA
Say: “Calibrate device 0001234567 for 144 to 148 MHz”
Follow the SOLT calibration steps: load, open, short, through.
Say: “Save calibration to slot 1”
-
Calibrate the second VNA
Say: “Calibrate device 0009876543 for 144 to 148 MHz”
Repeat the same procedure with the second VNA’s calibration standards.
Say: “Save calibration to slot 1”
Run a Synchronized Sweep
Now connect your antennas—one to each VNA’s Port 1.
-
Run sync_sweep
Say: “Run a synchronized sweep on both VNAs from 144 to 148 MHz”
The assistant calls:
sync_sweep(device_ids=["0001234567", "0009876543"],start_hz=144000000,stop_hz=148000000,points=101) -
Review the results
You’ll get S11 data from both devices, swept at the same time (within ±2-5ms).
Compare Antenna Performance
-
Run multi_antenna_compare
Say: “Compare my two antennas on the 2m band”
The assistant calls
multi_antenna_compare()and returns a comparison table:Metric Antenna A (0001234567) Antenna B (0009876543) Min SWR 1.15 1.32 Resonance 145.2 MHz 144.8 MHz Bandwidth (< 2:1) 4.1 MHz 3.2 MHz Z at resonance 48 + j2 Ω 42 - j8 Ω -
Interpret the results
- Min SWR: Lower is better. Antenna A has better match.
- Resonance: Where SWR is lowest. Neither is at band center.
- Bandwidth: Wider is more versatile. Antenna A has broader coverage.
- Z at resonance: Closer to 50 Ω is better. Both are reasonable.
Understanding the Results
What Sync Sweep Gives You
Software synchronization (Tier 1) starts both sweeps within 2-5ms of each other. This is adequate for:
- Antenna comparison
- Signal level measurements
- SWR/impedance analysis
It’s not precise enough for:
- Phase measurements between devices
- Antenna array characterization
- MIMO testing
For those, you’ll need hardware trigger (Tier 2) or phase coherent (Tier 3).
Device Capabilities
Check what sync methods each device supports:
Say: “Check capabilities of device 0001234567”
{ "device_id": "0001234567", "capabilities": { "hardware_trigger": false, "external_clock": false }, "tier": 1}Stock firmware shows Tier 1 only. Custom firmware enables Tier 2/3.
Troubleshooting
Only one device shows up
- Check USB connections
- Try different USB ports (avoid hubs)
- Run
refresh_devices()to re-scan - Check permissions:
sudo usermod -aG dialout $USER(Linux)
Device IDs keep changing
Port paths like /dev/ttyACM0 can change on reconnect. If available, use the serial number (e.g., 0001234567) instead—it’s stable across reconnects.
Timing concerns
Tier 1’s ±2-5ms is sufficient for most comparisons. If you see inconsistent results, ensure:
- Both VNAs have stable connections
- Neither is being accessed by another program
- USB host isn’t under heavy load
Next Steps
- Multi-VNA Coordination — Understand all three synchronization tiers
- Hardware Trigger Wiring — Achieve ±10-50µs precision
- Tool Reference — All coordination tools