I am busy rewriting my blog posts to another blogging project.


Please find my newest and oldest posts on the new ZS1SCI site.


Have a wonderful day!



I recently purchased my first HF transceiver a Xiegu G90.

Since I would mostly just be interested in digital modes, Flrig seemed like the obvious choice to control the radio via CAT.

Here are my settings to get it working.

flrig config.png

But for this post, I'm setting up OmniRig v2.1.


Categories covered here are:



OmniRig can be downloaded here.

So looking at the above flrig configuration, we can decern a few things.

The Xiegu Radio shares the same serial protocol as some Icom radios(IC-756-Pro and IC-7100).

Annotation 2020-03-28 080257.png

We will be using the IC-7100 Rig-Type.

We fire up WSJT-X and configure our radio settings as such.

WSJT-X Radio.png

Now we are ready to test some WSPR signals :)

As I am using an end-fed antenna, it resonates at a few frequencies, and my band hopping schedule is set up as such.

WSPR Band Hopping.png

We set the power level on the radio to 2W.


Now we need to adjust the PWR in WSJT-X so that the ALC on the radio is around "098". 



Here are the results from this transmission :)

WSPR Results.png

Likewise, we would configure our input pwr for WSJT-X for all modes and frequencies :)


I hope this sheds some light on the usefulness of OmniRig.

No need to open anything once configured, just fire up WSJT-X and Enable Tx.

Here is an example of my performance over the past two weeks on 80-12m bands at 33dBm on WSPR.

Xiegu G90 and WSPR running 24/7.

WSPR 2 weeks.png

This required some form of cooling for the radio to run this long. 

I used a 120mm computer chassis fan and some butyl tape to absorb the vibrations it might create.


It is connected in parallel to the radio's DC-IN.


It's optional but seems to do the job.

Thermal share.jpg


Right now that digital modes are out of the way, how about an I/Q pan-adapter for the G90?

Want to see more than just what is on the radio screen?

This is where we fire up HDSDR and configure it:

Config 3.jpg

RF Front-End Configuration 

Config 3.jpg

Config 3.jpg

And you should be presented with a nice panoramic view of the RF spectrum, demodulation control as well as CAT Control.

Here is 192kHz of goodness with a calibrated S-Meter :D

HDSDR Pan.png

Here I am tuned to 7.196MHz on the radio, yet I am listening and seeing the spectrum on 7.110MHz


HDSDR Pan 7.1MHz.png


Wiring and setup pics requested.

I keep time with a USB Serial device and GPS


The actual GPS device L76X GPS module


Xiegu G90 connections




Here is my wiring diagram

Communication is done with the Xiegu "programming" / CAT control cable that comes with the kit.

Wiring Diagram.png


As can be seen, this radio is a competent little device, especially when properly set up.

I have a suspicion that some of these configurations should work with the Xiegu X5105 too.




Kind Regards





As I am naturally curious about RF Tech, I tend to collect devices that quantify certain aspects of the RF hobby.

This device is, by far been the most interesting one.


Some time ago, I wrote morfeusQt, which is still somewhat active...

So I contemplated writing a similar python application for this device.

Fortunately, I was searching GitHub for "nanovna" one night and this popped up.

It was Python, and it worked on first load and omg...

It's opensource! 

It is written by Rune B. Broberg / 5Q5R.


In the following blog post will go through some vigorous screenshotting and brief texting to explain my process,

please bear with me as I run through its use cases, some of which I will cover in the next article as my understanding

on the matter deepens.


The steps that follow are:


I will forego going through the software repository cloning process and jump straight to usage.


This should yield the most satisfying results from this little USB serial device.


Firstly let's download the application:

Please follow this link for the latest release page.

Once downloaded, let's have our nanoVNA device plugged in via the USB cable before firing up the application.

Once opened, we have a screen that looks like this.

Annotation 2019-09-15 120443.png

We then click on Connect to NanoVNA to initiate our device and get the first scan.

Annotation 2019-09-15 120553.png

Here we are presented with a beautiful presentation of our data.


I am going to customise this display, and I do this by clicking on Display Setup and by changing the Sweep Color.

Annotation 2019-09-15 120952.png

That's a little better...


Firstly, we need to calibrate.










Isolation 2x 50Ω dummy loads



Annotation 2019-09-15 150457.png

We click on calibration, and then we set our segments to 10 to have more points, after which we click sweep.

Once the sweep completes with our Short in place, we click the "short" button in the calibration screen.

We follow this process for each step (Short, Open, Load, Through and Isolation) of the calibration process.

Then after the OSL calibration is complete, we can click apply and then if we'd want we can save the calibration for later loading.

We then close our calibration screen.


Filter #1

First up a 2.6MHz HPF from RTL-SDR.

IMG_20190915_151001.jpg2.6MHz HPF

We sweep from 50KHz - 30MHz with ten segments for some excellent resolution(1010 data points)

Annotation 2019-09-15 163305.png

I've also added three markers to peak at values, to match the first markers in the chart below.

Markers points can be highlighted by selecting the appropriate radio box in the markers section.

It matches nicely with what s found on the RTL-SDR website

Return Loss

Next, we sweep from 50KHz-6MHz, for a closer look

Annotation 2019-09-15 164200.png

It also pairs nicely with what is on RTL-SDR

Filter #2

The 88-108MHz bandstop filter



We sweep from 50KHz-300MHz

Annotation 2019-09-15 170833.png

Again this matches quite nicely with what is on RTL-SDR


EDIT 17-09-2019

Here I tested a new master branch firmware update which expands the frequency range by 600MHz to 1.5GHz.

Here are some device captures with a 50Ω load



DFU can be entered via software switch


As can be seen below, the hardware limitations of the device are being met above 900MHz.

This is a sweep of the bandstop filter in place with a new calibration made for the new range in the latest firmware.

Annotation 2019-09-17 181229.png

Here is the Open sweep with extended range

Annotation 2019-09-17 182150.png

Here is the Short sweep with extended range

Annotation 2019-09-17 182339.png

Here is the Load sweep with extended range

Annotation 2019-09-17 182756.png

Here is the through sweep with extended range

Annotation 2019-09-17 181648.png

Perhaps the device would need a hardware upgrade shortly?


Just for science, how would it look with 10k points?

A sweep of 10100 points with the bandstop in place

Annotation 2019-09-17 205000.png





So for me being a radio amateur and loving building things, it's nice having a device that can quantify specific theoretical parameters.


I am also still learning a bunch, so much so that I decided to contribute to the GitHub project.

It is lovely to see the application grow with every iteration and Rune is definitely on the fast track to making

one of the most top-notch VNA applications for this device.


I would also like to thank the author of this article and Rune for pointing it out, it always great learner things from others in the same domain.


I'll get to measuring some antennas on the next Part, for now, if you'd be interested here

are some build instructions for the firmware in Ubuntu 19.04


Kind Regards

Ohan Smit





This will be a guide to building the NanoVNA source code from a fresh Ubuntu machine.

First off, we need git.

In a terminal window run the following:

sudo apt-get install git

Following the guide available on GitHub we generate and add an ssh key:

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/id_rsa

We need to copy this key to the clipboard with xclip:

sudo apt-get install xclip

xclip -sel clip < ~/.ssh/id_rsa.pub

Login to GitHub to add ssh key:

Click the green New SSH Key button

Give it a Title and paste the copied key in this window

Once that is done we can add some prerequisites:

In a terminal window run the following:

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/8-2018q4/gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2

sudo tar xfj gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz2 -C /usr/local


sudo apt install -y dfu-util


Once that's dusted off we can clone the repo :

In a terminal window run the following:

git clone https://github.com/ttrftech/NanoVNA.git && cd NanoVNA

git submodule update --init --recursive

Type yes when asked


If you see something like this 

Submodule path 'ChibiOS': checked out '669d4bbc8da1ee0e4ccdf93a472b06d183922320'


All is good!!!


Build the library with:


That's a successful build right there!


Flash by setting the device to DFU boot, either in software or by short of pins :

Update :

Short the two pins in the red circle with the device powered off, then with the pins shorted power on the device.

This will enter DFU mode, with a blank white screen.

The device can now be flashed.


Software Reset to DFU 


Then to flash: 

make flash

This is what to expect when flashing the device.

Windows Flashing:

For conversion to dfuse dfu file format for Windows flashers:

In the ubuntu terminal still:

dfu-tool convert dfuse ./build/ch.hex test.dfu


dfu-tool set-product test.dfu df11

dfu-tool set-vendor test.dfu 0483



Experimental build from a branch that enables Time Domain Stuff


Added menu items


Hopefully, this will help some folks get to building the firmware of this device.


Kind Regards



Hi and welcome


My name is Ohan Smit a radio amateur from Cape Town South Africa with the call sign ZS1SCI.


My friend recently found an iMet-54 weather balloon that landed on his farm.

He sent me the following picture picture 


I was naturally intrigued by this discovery.

So assuming he would only bring the RF unit, I was very surprised when he bought the whole kit, parachute, balloon, string loom the works.


I've in the meanwhile tried to reverse engineer the balloon, I got GPS messages, and everything was looking peachy.


Then I accidentally fried the MCU by hooking up a cheap logic analyzer. 


My goal had now become to try and simulate its behaviour like before it broke, using the same MCU and transmission chip as the original PCB.


The L76 GPS chip is still in working order.