Skip to content

VNA Hardware Trigger Wiring

Hardware trigger synchronization (Tier 2) achieves ±10-50µs timing between VNAs—100x tighter than software coordination. This guide shows you how to wire the trigger lines between devices.

When You Need This

Use CaseTier 1 (Software)Tier 2 (Hardware Trigger)
Antenna comparison
SWR/impedance
Signal level measurements
Transmission path timingLimited
Differential S21Limited
Multi-VNA transfer functions

For phase-aligned measurements, you’ll also need external clock (Tier 3).

Parts Needed

  • Jumper wires (Dupont or similar)
  • Soldering iron and solder (fine tip recommended)
  • NanoVNA-H with custom firmware supporting trigger commands

Pin Locations

The trigger system uses two GPIO pins on the STM32F303:

PinFunctionLocationDescription
PA0TRIG_INSee board diagramExternal trigger input (rising edge)
PB14TRIG_OUTSee board diagramPulse output at sweep start

NanoVNA-H Rev 3.4 Board

┌─────────────────────────────────────────┐
│ │
│ ┌───────────────────────┐ │
│ │ │ │
│ │ LCD │ │
│ │ │ │
│ └───────────────────────┘ │
│ │
│ │
│ [PA0]● ●[PB14] │
│ TRIG_IN TRIG_OUT │
│ │
│ ┌──┐ ┌──┐ │
│ │P1│ │P2│ │
│ └──┘ └──┘ │
│ Port 1 Port 2 │
└─────────────────────────────────────────┘

Wiring Steps

  1. Identify the leader VNA

    Choose one VNA as the “leader”—it will generate the trigger pulse that starts all sweeps. The others are “followers.”

  2. Solder wires to pins

    On the leader VNA:

    • Solder a wire to PB14 (TRIG_OUT)

    On each follower VNA:

    • Solder a wire to PA0 (TRIG_IN)

    Use thin wire (30 AWG or similar) to avoid stressing the pads.

  3. Connect the trigger bus

    Wire all followers’ TRIG_IN lines to the leader’s TRIG_OUT:

    Leader VNA Follower VNA #1
    ┌─────────┐ ┌─────────┐
    │ PB14 │──────────────────│ PA0 │
    │(TRIG_OUT)│ │(TRIG_IN) │
    └─────────┘ │ └─────────┘
    │ Follower VNA #2
    │ ┌─────────┐
    └────────│ PA0 │
    │(TRIG_IN) │
    └─────────┘

    For more than 2 followers, daisy-chain or use a splitter.

  4. Verify ground reference

    All VNAs share ground via USB (same host computer). No additional ground wire needed.

    If using VNAs on different computers, add a common ground wire.

  5. Test trigger signaling

    Use a multimeter or oscilloscope to verify:

    • PB14 can be toggled (use raw_command("trig_out pulse"))
    • PA0 sees the pulse on followers

Firmware Requirements

Stock NanoVNA firmware doesn’t include trigger commands. You need custom firmware with:

CommandDescription
trig_mode {software|hardware|leader|follower}Set trigger mode
trig_out {on|off|pulse}Manual trigger control
trig_statusRead trigger state

Check capability with detect_capabilities():

{
"device_id": "0001234567",
"capabilities": {
"hardware_trigger": true,
"external_clock": false
},
"tier": 2
}

Using hardware_sync_sweep

Once wiring is complete and firmware supports triggers:

Say: “Run a hardware-synced sweep from 144 to 148 MHz with device 0001234567 as leader”

The assistant calls:

hardware_sync_sweep(
leader_device_id="0001234567",
follower_device_ids=["0009876543"],
start_hz=144000000,
stop_hz=148000000,
points=101
)

This automatically:

  1. Sets leader to “leader” mode
  2. Sets followers to “follower” mode
  3. Runs parallel scans (hardware synchronized)
  4. Restores “software” mode

Testing the Trigger Line

Manual test via raw_command

# On leader - generate pulse
raw_command(device_id="0001234567", command="trig_out pulse")
# On follower - check status
raw_command(device_id="0009876543", command="trig_status")

Expected output: trigger_count should increment.

Oscilloscope verification

  • Pulse width: ~10µs
  • Rising edge: < 1µs
  • Voltage: 3.3V logic level

Troubleshooting

Trigger not detected

  1. Verify wiring continuity with multimeter
  2. Check firmware has trig_mode command: raw_command("help")
  3. Ensure ground is shared between VNAs
  4. Try shorter trigger wire (< 30cm recommended)

Erratic triggering

  1. Add 100Ω series resistor on TRIG_OUT to reduce ringing
  2. Keep trigger wire away from RF paths
  3. Use shielded wire for long runs (> 30cm)
  4. Check for EMI from nearby equipment

Sweeps still not synchronized

  1. Verify both VNAs have same sweep settings (start, stop, points)
  2. Check trigger mode is correctly set before sweep
  3. Ensure leader starts sweep before followers timeout

Capability shows false

  1. Firmware may not support triggers
  2. Flash custom firmware with trigger support
  3. Run detect_capabilities() after firmware update

Electrical Specifications

ParameterValue
TRIG_OUT pulse width10µs
TRIG_IN threshold1.6V (TTL-compatible)
Maximum trigger cable length1m (unshielded), 5m (shielded)
Edge-to-sweep latency< 50µs

Next Steps