Antenna Tuner Measurements

In this post I’ll share some more NanoVNA measurements, this time of a T-match series-C/shunt-L/series-C antenna tuner, designed for 1-30 MHz. This off-the-shelf manual tuner + SWR meter accepts PL-259 connections for the transceiver and two antennas; a fourth SO-239 RF connector is available to attach a 50 ohm dummy load. The loads are selectable with a wafer switch and can connect through the tuned circuit or can be bypassed straight from transceiver to selected antenna. The tunable match is achieved by two meshing air capacitors on the Antenna and Transceiver/Transmitter side, with a tapped coil shunted between them, again selecting taps with a wafer switch.

Figure 1: Tuned circuit with two series capacitors and selectable tapped shunt inductor

T-Matching Network: Theory

Matching networks are commonly used to adapt antennas to the impedance of the transmitter/receiver/transceiver. Matching networks may be used to achieve a narrowband impedance match between two networks to reduce the losses caused by reflections between mismatched impedances. Some references 1, 2

Measured Self-Impedance

The 50 ohm load presented by port 2 of the NanoVNA means that for any measurement that switches through the T-match circuit of the antenna tuner, the match is further from ideally terminated. To see patterns in the data, I wanted to view the self-impedance seen at the transmitter with the thru-port 2 connected; this varies slightly from the Z-parameter definition but may be helpful for a first look.

Data Across Fixed Antenna (C2) Setting


Sweeping the inductor across fixed C2 setting shows a shift in frequency with each inductor. The data appears to show B as the lowest frequency, and A as the highest; this might indicate the dial is one click “off” with respect to the inductor letter label.

At antenna setting of Tx10, a strong antiresonance appears for each of the inductor measurements.

This is what I call the “L” position; the data and manufacturer’s schematic suggest it is the “A” position and the switch is misaligned.

Data Across Fixed Transmitter (C1) Setting


Between Tx0 and Tx5 the resonant frequency is seen to increase. For transceiver setting Tx10, the inductors don’t matter much at all, and the impedance magnitude data is unitary in this frequency range.

Data Across Fixed Inductor (L) Setting


Not much is concluded from the data- the plots are mostly differentiated by the sharp antiresonance that appears at high Antenna setting.

Next Steps

Here I’ll outline the possible directions I see this analysis going. Send me some mail if you think I should look at the data in a different way. I’ll update with results in a future post (lol).

Calculating C1, L, C2 From Data

Another way to view the measured data is by creating an equivalent circuit of the tuner based on the settings used. Using the known load impedance and the measured S11, S21 data, it should be possible to model an approximated tuner circuit with L and C elements. Although this circuit is best characterized with a full 2 port measurement, the T/R capabilities of the NanoVNA restricts the port 2 return loss data available without further measurements and enhanced calibration methods.

Modeling as T-Parameter Matrix

Better would be to model the circuit using scatter transfer parameters (T-parameter) network (or, alternatively, as an ABCD matrix) [Pozar, 4th ed. Ch 4.4]. Using a T-parameter matrix makes sense to me as it can relate the incident wave to the transmitted wave under a constant load.

Calculating S-Parameter Determinant from Existing Data

The measurements across settings can be spliced to replicate a two-port measurement. From this data, the determinant of the S-matrix can be calculated and used in the s-parameter to t-parameter conversion. This would approximate the return loss of both sides of the circuit, assuming similar properties for variable capacitors C1 and C2.

Retake the Data with Flipped DUT

Another solution similar to above would retake the reverse of the T/R data taken previously to get (an approximation of, without respect to the port two load match) the port two return loss. This would allow for a view into the circuit from both sides, and is used with the forward return loss and insertion loss to identify the elements in the matrix.

Network Measurement with NanoVNA

I have had a lot of time recently to work on personal projects. To aid in this, I picked up a NanoVNAv2 from Tindie. One month after placing my name on the waitlist I was contacted that the hardware was back in stock. Less than a week later, it arrived to my lab bench.

I found a measurement candidate in a variable air capacitor I picked up at a ham swap. I had used it with brief success on a homebrew antenna, so I figured it may prove useful as a test load (device under test, or DUT) in a network measurement.

Project enclosure housing variable air capacitor

Opening up the enclosure and looking over the connections within the project box I found a loose wire. After refastening, this capacitor was ready to measure. See the circuit below to illustrate the electrical connection within the project enclosure.

Schematic of Enclosure: Series Capacitor, Shorted Grounds

Ok, great, I have a DUT… I want to measure its capacitance, but how? Looking over the specifications of the NanoVNA, I determined I could get the most accurate measurement by performing a shunt two-port measurement of the capacitor and deriving an impedance and ultimately a capacitance. A single port measurement can provide usable accuracy for impedance measurements near system impedance but the two port measurement will be more accurate in general as it is essentially a high frequency 4 wire measurement.

Now, for the logistics- I didn’t have the correct adapters, but I did have some coax and an assortment of connector ends, so I decided to make my own test fixture for this measurement. I made a two-port SMA-to-UHF connector so I can measure the (capacitive) load shunt to ground. I also floated solder into the end of a UHF connector until it created a short. The new parts and a schematic representation for the circuit for measurement:

Measurement Schematic Representation

I left the connecting coax length a bit long, but a quick calculation assured me I should not expect to see the impact of this line length in the data at the measurement frequency (at max sweep frequency, the coax is one-quarter wavelength), so I reasoned the inclusion of the transmission line in the measured data would not prevent an accurate evaluation of the NanoVNA’s functionality. As the soldering iron cooled I performed a T/R calibration (this NanoVNA has a single transmit port) and began measurement.

Photo of Measurement Setup

Following measurement I began plotting data. I have plotted the open circuit parameters (also known as Z parameters) to determine the amount of capacitance in the circuit:


Now I can pick a frequency where the negative-going portion of the curve is approximately linear, say 10 MHz. At this frequency the impedance (magnitude) values yield an approximated capacitance of 79 pF, 52 pF, 25 pF, and 51 pF.

This is a good start. However, there is still the length of coax that is embedded in the measurement. An easy way to approximate the capacitive contribution of the coax is to use the capacitance per foot value from the cable datasheet (30 picoFarad/foot) and, realizing it is in parallel to our DUT, subtract the length-adjusted value from the measured capacitance to account for the extra capacitance of the line within the measurement setup (30pF/ft * 0.833 feet = 25pF). I’ve tablulated the data to summarize the measurements, including deembeded capacitor data using the method above to estimate the contribution of the fixture:

Knob Position Measured C Estimated DUT
0 79 pF 54 pF
90 51 pF 26 pF
180 25 pF 0 pF (not measurable)
270 52 pF 27 pF

Overall, I am satisfied with my new measurement tool and expect it will serve to improve my future homebrew designs. I’m similarly pleased to have a measured capacitor around the lab to open up antenna configuration possibilities. Although this post is intended to serve as a summary of my evaluation of the NanoVNA, the electrical model for the capacitor I have created from these results can be improved upon and verified. If you have any suggested changes to my measurement, drop it in the comment section- I am always open to improving my test methodology.

One feature I’d like to see implemented in a future NanoVNA software update is a logarithmic sweep option to make these power-type measurements easier. As you can see in the plot, the capacitive portion of the response has a non-linearity at low frequency.  Another area for improvement in the current software is the uncorrected error introduced in the return loss data due to the non-characteristic termination at the port 2 reference plane. An additional measurement with ports 1 and 2 reversed at the DUT (plus some math) will include all error terms needed to remove the cable length terminating port 2.

Update 21JAN2021:

I should acknowledge there is another way to solve this problem: by treating the measured data as a transmission line, the DUT can be transformed the electrical distance of my transmission line number of Wavelengths Towards Generator (recall WTG from the smith chart) to extract the admittance of the DUT. Usually this can be done by using port extensions on the VNA, which mathematically subtracts phase from the scattering parameter measurement, based on a specified time or electrical distance. However, due to the shunt nature of the measurement the math isn’t as straightforward; the s-data will be converted to admittance parameters before the phase is subtracted. This will require some python trickery, since the nanoVNA software doesn’t support admittance parameters. After I’ve wrapped my head around the math, I’ll plot the data in python.

Have ideas? Leave a comment on how you’d approach this problem.

Mt. Bierstadt & Mt. Evans Double Activation

06 October 2019

After five months I have finally started adjusting to my new city and job so I have been activating like crazy the last month. This weekend was one of the last weekends to get up a mountain before the snow comes and thwarts any plans for radio activations on Colorado’s higher point peaks. So, wanting to plan something fun, I called up my buddy Dave/WØADV (formerly KI6YMZ) who also lives in town and he threw out the idea of a double activation on Mt. Bierstadt and Mt. Evans. As I have not climbed or activated either of these peaks, I was both excited and nervous, but I jumped at the chance to knock these two 14,000 foot peaks off my activation list.

I woke up early and packed to meet Dave in Boulder at 5:15 AM for the drive to the Mt. Bierstadt trailhead, just past Georgetown, CO over the Guanella Pass. The plan was to meet another ham friend of Dave’s, Ben/KDØPNS, at in the paring lot at 7. When we arrived at the parking lot, we found the winds to be in play this day; in fact, we noticed debris throughout the road even as we were leaving Boulder. With a high in the mid 40s for the day, the biting winds meant packing an extra layer was a must.

Mount Evans Wilderness area sign as the sun rises over Mt. Bierstadt

We left for the trail at about 7:05 for the 10 mile round trip and made it up to Bierstadt in just over two hours (Dave and Ben are in really great shape). The winds were whipping the whole ascent which put the treacherous traverse across Sawtooth Ridge, the connecting saddle between Bierstadt and Evans, at risk, though we found they calmed as soon as we got to the north east side of the summit. As Dave set up HF, I made some summit to summit contacts on VHF with a large group on top of Signal Butte in the southern front range. We stayed for about an hour and made enough contacts for both Dave and I to earn points on Mt Bierstadt, WØC/PR-015. Ben didn’t plan for any radio action this day so he stayed content chatting with a few other groups on peak and fielding questions about why Dave is screaming CQ into a wire on a fishing pole. We met another two hikers that also planned to traverse the ridge to Mt. Evans, and gauging the wind had died down enough to not be a risk, the five of us proceeded down the backside of Mt. Bierstadt.

KDØPNS (right) and WØADV (middle) taking a break on the ridge and gazing over the valley between the two peaks

The trek across Sawtooth Ridge is a class 3 difficulty hike with lots of exposure and little room for error. However, the views were excellent, assuming you had the stones to take your eyes off the trail. Due to my clumsiness, we had to backtrack and fell behind the other two hikers who we had met at the top of the Bierstadt (we never caught up to them on Evans- we expect they bailed either on or after the ridge). There were some tricky parts to the pass and this was my first encounter with class 3 terrain; luckily, Ben and Dave are very easygoing hiking partners and we took our time to get across the ridge.

One of many exposed portions of Sawtooth Ridge

The rest of the climb up Evans was straightforward- just keep following the cairns. There were a few false summits and by this point in the day I was pretty wiped, but I kept chugging along. I eventually joined Dave and Ben at the top after they had been there for some time. Dave/WØADV had previously activated this summit and in the interest of time decided to keep the HF gear in the pack. I knew we still had a ways to go, so I called CQ for 20 minutes on 146.52 and logged 8 more contacts for the day. After that, we packed up and headed down the backside of Evans towards the parking lot.

WØASB with a rare smile, working VHF from Mt. Evans, WØC/FR-003

The rest of the trip was a lesson on navigating towards the parking lot while avoiding the marshy high wetlands that we crossed on the way up; however, the nicely laid out paths with wooden bridges that got us across the mud on the way up Mt. Bierstadt were absent as we were coming back down the Mt. Evans side. We did spot a trail that bisected some of the small lakes that formed at the base of the mountain, but it would disappear into the thickets before picking back up again 40 yards later. Miraculously, all three of us got across this field with dry shoes that had been reported to be an unavoidable mud bog just weeks before.

We made it back to the truck by 7PM, nearly 12 hours after we set out. Overall, it was a long day but a great way to end the SOTA season… for a few months until things pick back up in December when winter bonus points call ham operators back to the mountains.

73 de WØASB


EM Theremin- Using hand wavy science to create music

I first heard of the Theremin during a class in my undergraduate studies when another group of students decided to build one for their end-of-class project. I didn’t think much else on this hands-free musical instrument until recently when I had some down time in my graduate studies and decided to do a bit of research on a project to kick winter off until it was warm enough for another hike.

I found a schematic based on the original design on the internet (these days, most folks are abandoning the pitch and volume antennas in favor of optical sensors and microcontrollers), pulled from an early 1996 issue of Electronic Musician magazine, which is still in print as of this posting. The article itself was a nice read, not only detailing the construction of the Theremin including tuning and playing tips for those that take on the challenge of this build themselves, but also providing a bit of the history and theory of this instrument that dates back to 1928. After placing my order with my favorite online electronics component provider, I anxiously awaited for my package to arrive, passing the time by hunting for a partner in crime with which to build this project.

The build went well for the most part, though I found myself wanting to build another custom PCB since the perf board soldering was pretty time consuming. After completing the circuit (and a few hours of debugging) I was ready to tune it up and start practicing.



Winter SOTA: Genesee Mountain FR-194

Summits on the air in the winter in Colorado can be a great opportunity to nab a few lower-point peaks; during the winter months, the W0C region allows for 3 bonus points on all peaks, which makes the 2 or 3 point summits even more enticing. That, coupled with the accessibility of these lower elevations makes them great for activating even when snow lines the trails.

This morning I decided to head up north to Genesee Mountain, along the I-70 corridor about 30 minutes East of Denver. With the drive less than an hour and a half from Colorado Springs, I left around 8:15 and stopped for coffee and made my way out to the summit trailhead. Though it had snowed within the last week, there were plenty of tracks that packed the snow and made the trail easy to find. After only 10 minutes, I made my way to the top of the mountain, indicated by a large flagpole. The temperatures at the top were in the mid 30’s, but with the sun shining and only a slight breeze the conditions were excellent. Though this is usually a busy peak during the summer due to the proximity to downtown, I found myself alone at the top of the summit. I spent half an hour or so on a rock and made 12 contacts on my HT, a Yaesu FT-60R which maxes out at 5 Watts. I know it’s not much on VHF but today I had my first pileup, which makes me even more amped to improve my Morse code skills so I can bring along an HF radio and make contacts across the US.



2m/70cm Duplexer

Last year I bought a dual band Arrow antenna with the intent of hitting the local repeater with my HT, but also leaving open the possibility of using it on SOTA activations and for satellite work. Since then our club has switched repeaters to a more central 2m location, so I looked into how I could get on the air with other hams on VHF throughout the country via satellite. Though Arrow sells duplexers for a modest $60, I intended to make a project out of this and investigate how I could over engineer a solution to this problem myself.

Although I am confident in my ability to synthesize two 5th order passive filters for frequencies <500 MHz, it is much quicker to use some google-fu and find values for the capacitors and inductors needed to create a passband in the 2 meter and 70 cm ham bands. I used 0603 and 0402 components to minimize the space and insertion loss that would be seen for each branch of the duplexer.

After using ADS to layout and simulate the expected performance for my new gadget, I sent my design to Advanced Circuits, a quick turn PCB fab located just outside of Denver. Being the first time I’ve sent out a PCB for my own personal use, I found the process to be easy enough, though if you aren’t familiar with PCB manufacturing processes, it may be difficult to navigate their online forms without dialing their number and getting some help (the help topics throughout the form left much to be desired). While waiting for my PCBs to arrive I modeled up an enclosure for my duplexer and sent it out to the machine shop at work.

After receiving my PCB and machined aluminum enclosure, I quickly assembled the board and headed to the local hardware store to get the fasteners needed to complete my project.

Overall, I am pleased with how everything turned out. I was able to measure 1.3 dB insertion loss through the 2m path and less than 2 dB of insertion loss in the 70 cm path, though admittedly I performed this measurement using a edge launch connector to measure the performance before the enclosure arrived. The next step will be to get this on the air!

2m/70cm Duplexer


Barrett WØASB


Budget APRS Mobile Beacon

APRS, or Automatic Packet Reporting System is an amateur radio-based system for real time digital communication of information. This information may be weather data, GPS location information, text messages, digital repeating (digipeating), or other queries. There are existing APRS options available in commercial radios, but I wanted to see if I could drive the price down to a bare minimum. This post walks through the steps I took to create an APRS GPS beacon as well as how I installed this beacon in a mobile station.

Snapshot of APRS showing digipeaters, WX stations, and mobile stations in my area from

I have been considering adding a mobile APRS setup for a number of months, but as my schooling ramped up I had to put the project on the shelf and return to it again when things cooled off between work and school. Luckily my thesis defense finished up near the beginning of the semester and I was able to get some time at the start of December to put some more thought into getting this project going.

I came up with the idea of using a Raspberry Pi as a mobile beacon after seeing the TNC-Pi in a post on Reddit. I have always considered the Raspberry Pi to be neat way to play retro arcade games, though I didn’t see much practical use for it until I considered the Raspberry Pi contained more than the processing power of a Terminal Node Controller, the gateway to bringing my mobile beacon on air.

TNC-Pi, available from Coastal Chipworks

The drawback was I was not able to find anything on the web that addressed the deficiency in transmitting APRS location data, so that meant I could create my own solution. I found the least expensive solution was was to piece together a using the TNC-Pi, a Baofeng Radio, and a modified version of the TNC-Pi to Baofeng radio cord sold on the Coastal Chipworks website. After exchanging a few emails with John Hansen, W2FS who designed the kit, I discovered though setting up an internet gate (iGate) or a digipeater was well covered, there might be some room for including a couple of pointers for setting up GPS location data with the Raspberry Pi system, so that’s where I would need to start my research.

Originally I wanted to use a standalone GPS chip to interface with the Raspberry Pi’s Python configurable IO ports, but I quickly realized banging bits in python to decode the National Marine Electronics Association (NMEA) 108 protocol that GPS uses would be more than I wanted to take on for this project, so I hopped on the web and found a USB GPS for around $30 that would plug into the Pi. Turns out the Xastir software supports innate GPS decode and radio transmit with the Pi and only needed a few settings adjustments to start transmitting as a GPS beacon.

As for the install in my vehicle, I wanted my APRS tracker to automatically power up when the car started, but I didn’t need the rest of the controls on the radio to be immediately available. I also wanted to be able to manually switch off the beacon from transmitting with a switch near the drivers seat. Finally, I wanted to to be able to monitor the transmit PTT indicator from my driver’s seat due to an intermittent issue I encountered with the PTT not releasing after transmission ended. With these goals in mind I began by putting together a couple of simple scripts that would wait until the GPS module locked onto a satellite and then run Xastir on boot.

The suggested fix for the latching PTT was a 2k resistor between the radio and the TNC-Pi; Poor grounding within the HT is the suspected fault for this issue

Well, I wasn’t expecting snow here in Colorado between Christmas and New Years (because, why would it be snowing when there’s time to go to the mountain?), so I had to put the installation of this project off until the weekend after New Years when it warmed up a bit. I made quick work of the install and soon was ready to test my system.

I installed the main power switch near the driver’s seat in the event I want to turn my APRS system off. The second switch is used only for the indicator light when the radio is transmitting

There is a hole on the passenger’s side where I was able to route my electrical through the firewall

The final installation, before looming all of the wires together

I have tabulated the final cost for this installation below. If you don’t already have a spare Pi and a few cheap handhelds sitting around, you will have to include that in your cost. It is probably worth mentioning that this is not the ideal solution to this problem; Xastir is a GUI based application that has more overhead than is needed for a simple transmitting beacon. Though power draw and processing power were considerations for this project, I would rather deal with a few extra mW of power than to redesign an interface that would boot from the command line. This concept can be easily modified to act as a home weather station, iGate, or APRS reader/display with minimal extra hardware.

USB GPS: $28.85
TNC-Pi/TNC-Pi Cable + shipping: $48
Battery Eliminator for UV-5R: $6.99
Wires, Power Plugs, Fuses and Connectors for mobile install: ~$80

Total: $163.84

As you can see I spent a few extra dollars getting connectors and switches to minimize drilling extra holes in the interior, but you depending on your preferences, this line item can be reduced.

Barrett WØASB