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 Case | Tier 1 (Software) | Tier 2 (Hardware Trigger) |
|---|---|---|
| Antenna comparison | ✓ | ✓ |
| SWR/impedance | ✓ | ✓ |
| Signal level measurements | ✓ | ✓ |
| Transmission path timing | Limited | ✓ |
| Differential S21 | Limited | ✓ |
| 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:
| Pin | Function | Location | Description |
|---|---|---|---|
| PA0 | TRIG_IN | See board diagram | External trigger input (rising edge) |
| PB14 | TRIG_OUT | See board diagram | Pulse 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
-
Identify the leader VNA
Choose one VNA as the “leader”—it will generate the trigger pulse that starts all sweeps. The others are “followers.”
-
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.
-
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.
-
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.
-
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
- PB14 can be toggled (use
Firmware Requirements
Stock NanoVNA firmware doesn’t include trigger commands. You need custom firmware with:
| Command | Description |
|---|---|
trig_mode {software|hardware|leader|follower} | Set trigger mode |
trig_out {on|off|pulse} | Manual trigger control |
trig_status | Read 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:
- Sets leader to “leader” mode
- Sets followers to “follower” mode
- Runs parallel scans (hardware synchronized)
- Restores “software” mode
Testing the Trigger Line
Manual test via raw_command
# On leader - generate pulseraw_command(device_id="0001234567", command="trig_out pulse")
# On follower - check statusraw_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
- Verify wiring continuity with multimeter
- Check firmware has
trig_modecommand:raw_command("help") - Ensure ground is shared between VNAs
- Try shorter trigger wire (< 30cm recommended)
Erratic triggering
- Add 100Ω series resistor on TRIG_OUT to reduce ringing
- Keep trigger wire away from RF paths
- Use shielded wire for long runs (> 30cm)
- Check for EMI from nearby equipment
Sweeps still not synchronized
- Verify both VNAs have same sweep settings (start, stop, points)
- Check trigger mode is correctly set before sweep
- Ensure leader starts sweep before followers timeout
Capability shows false
- Firmware may not support triggers
- Flash custom firmware with trigger support
- Run
detect_capabilities()after firmware update
Electrical Specifications
| Parameter | Value |
|---|---|
| TRIG_OUT pulse width | 10µs |
| TRIG_IN threshold | 1.6V (TTL-compatible) |
| Maximum trigger cable length | 1m (unshielded), 5m (shielded) |
| Edge-to-sweep latency | < 50µs |
Next Steps
- External Clock Modification — Add Tier 3 phase coherence
- Multi-VNA Coordination — Understand all synchronization tiers
- Tool Reference — Hardware trigger tools