The Inexpensive HF Vector Analyser (0 -30 MHz)

The Inexpensive  HF Vector Analyser (0 -30 MHz)

Rig Expert AA-30.ZERO PCB ~ About £80.00 from eBay
Arduino UNO ~ About £8.00 from eBay
Plastic case ~ About £4.00 from eBay

For some time I have been looking for a half decent Vector Analyser for some time, having borrowed a colleagues KVE-60C,  I was tempted to purchase one, but was put off with the £200 price tag. I then started to browse the RigExpert web site and came across their PCB. All that is required to make this functional being a 5 VDC supply and an external UART (Universal Asynchronous Receive  Transmit) – or the via an Arduino UNO PCB, the latter method is the best way to go in my opinion. A plastic case is also available which protects the Arduino Uno PCB.

Arduino Uno is a micro-controller board based on the ATmega328P . It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the micro-controller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.. You can tinker with your UNO without worrying too much about doing something wrong, worst case scenario you can replace the chip for a few dollars and start over again.

Above shows the Arduino UNO board with the protective plastic case.


The above diagram shows how the Rig Expert is connected to the UART – note the connections from the UART RX connects to the AA-30 TX, TX connects to the AA-30 RX A 5 VDC
supply is also required.

Pairing the Rig Expert to the Arduino Board.

Top side view

If you want to connect your analyzer to an Arduino board, you should first solder the breakaway headers. After that, simply plug your AA-30.ZERO into your Arduino board:
.ZERO paired with Arduino Uno

Completed Rig Expert AA-30.ZERO + Arduino UNO

Completed Analyser Project ~ All that requires is to power up via the computer USB port and install software (Sketch)

Pins usage

  • D0 – UART interface 1, TX, data out
  • D1 – UART interface 1, RX, data in
  • D4 – UART interface 2, TX, data out
  • D7 – UART interface 2, RX, data in

You can choose which UART interface to use, by re-soldering jumpers:
By default the AA-30.ZERO is using the UART2 interface.

In order to power the Arduino UNO and the connect to your computer via the USB connector supplied. In order to connect to the correct port open ‘Device Manager’ – click on ‘Ports (Com & LPT) – if there are several connections unplug the Arduino USB, this will automatically be removed from the list, re-connect and note the Com port associated with the USB connection.

Installing AntScope software

Please download the AntScope software, open the archive and extract files (with sub-directories) into your workplace, then run AntScope.exe:

If the AntScope software does not detect the AA-30.ZERO automatically, please select the type of the connected device in the Configure menu:

Please make sure that the COM port number is set correctly:

Congratulations! Now everything is ready for the first measurement!

Start measuring
Connect AA-30.ZERO to your antenna (or some other load you wish to measure) using a flexible cable adapter, then click the Scan range icon right under the menu bar:

Click the Set full range button and click OK to start:

A few seconds later, the result is displayed:

Installing Arduino IDE and compiling your first project

Compile and run a very simple sketch on your Arduino board. Download and install Arduino IDE.

// UART bridge for data exchange between
// RigExpert AA-30 ZERO antenna & cable analyzer and Arduino Uno
// Receives from the Arduino, sends to AA-30 ZERO.
// Receives from AA-30 ZERO, sends to the Arduino.
// 26 June 2017, Rig Expert Ukraine Ltd.
#include “SoftwareSerial.h”
#define RX0_Pin  0
#define TX0_Pin  1
#define RX1_Pin  4
#define TX1_Pin  7

#define HW_SERIAL

#ifndef HW_SERIAL
SoftwareSerial ZERO(RX1_Pin, TX1_Pin); // RX, TX

void setup() {
#ifdef HW_SERIAL
pinMode(RX0_Pin, INPUT);
pinMode(TX0_Pin, OUTPUT);

pinMode(RX1_Pin, INPUT);
pinMode(TX1_Pin, OUTPUT);
ZERO.begin(38400); // init AA side UART
Serial.begin(38400); // init PC side UART

void loop() {
#ifdef HW_SERIAL
//digitalWrite(TX0_Pin, digitalRead(RX1_Pin));
//digitalWrite(TX1_Pin, digitalRead(RX0_Pin));
if (PIND & (1 << 4)) PORTD |= (1 << 1); else PORTD &= ~(1 << 1);
if (PIND & (1 << 0)) PORTD |= (1 << 7); else PORTD &= ~(1 << 7);

if (ZERO.available()) Serial.write(; // data stream from AA to PC
if (Serial.available()) ZERO.write(; // data stream from PC to AA

The above ‘Sketch’is the basic required for operation of the analyser – however, there are other ‘Sketches’which can be loaded which give other displays as below:-


Let’s compare the resulting drawings with the chart that the AntScope program draws:


To get the 100% similarity, you will have to play a little with a logarithmic scale.

The above diagrams and description can be found at the following link:-

There is also an excellent You Tube video of how to use the Rig Expert AA-30.ZERO and Arduino UNO option – please see below:-