The miniVNA is a small and inexpensive antenna analyzer from mini Radio solutions. It connects to a computer via USB and it can measure SWR, RL, Rs, Z +/-jx, Phase, Cable length, R/L/C in the range 0.1Mhz to 180MHz. It comes with a quite all right control software for windows. There is also a Gnome version of the software called gVNA. Unfortunately, it depends on GNOME, it hasn't been updated for three years now and I have never been able to build it.
This document describes the miniVNA USB protocol that has been reverse engineered from user manuals and available software. The purpose is to have a control reference for writing a new control application for the miniVNA.
The miniVNA can work in two modes, a reflection mode and a transmission mode:
- Reflection mode – used for measuring various parameters on antennas and cables.
- Opcode: 0
- Both ADCs connected to the bridge
- Transmission mode – used for measuring filters attenuators, etc.
- Opcode: 1
- The second ADC is connected to the DET port
- DDSRATIO = 10737.41824
- DDS increment for a 1kHz signal. Multiply the desired frequency in kHz with this constant. If the frequency is in Hz, multiply by 10.737414824. This factor is obtained from the frequency calibration in the windows version of the miniVNA control software.
- VEL = 0.66?
- Velocity factor??? See windows config.
Each command to the miniVNA consists of 4 numbers separated by a UNIX newline character 0x0D.
- The opcode 0 or 1
- The start frequency multiplied by the DDSRATIO (use 0 to turn DDS off)
- The number of measurements to take (if 0 the DDS won't be activated)
- The frequency step size multiplied by DDSRATIO (can be 0)
The miniVNA will respond with the measurements taken:
- The number of samples will be equal to the number of measurements requested
- 2 bytes / sample
To start a frequency generator, i.e. constant frequency with no sweep
Controller → VNA:
0 # opcode f(kHz)*10737.41824 # start freq 1 # number of measurements 0 # frequency step * DDSRATIO
VNA → Controller TBD
Reset by setting the frequency to 0:
0 0 1 0