UNCLASSIFIED
TM-GEAR-012
MOTORIZED ANTENNA TUNER — HF AND VHF/UHF
T-Network, L-Network, Stub Tuner, ESP32 Controller, SWR-Guided Auto-Tune
Prepared by: Mervyn Martin, KO6NNH  •  Merced, California  •  26 May 2026
Amateur Radio / Electronics — Not for commercial use

Chapter 1 — Introduction and Scope

This manual covers a motorized antenna tuner (transmatch) covering all 15 amateur radio bands (1.8–1300 MHz) in two sections: an HF T-network tuner (1.8–30 MHz, 100W) and a VHF/UHF stub or L-network tuner (50–1300 MHz, 50W). Variable capacitors and a roller inductor are driven by DC gear motors under ESP32 control. A built-in SWR bridge provides feedback for automatic SWR minimization.

Chapter 2 — Theory of Operation

2-1 T-Network HF Tuner

The balanced T-network (input cap C1, series inductor L, output cap C2) can match a wide range of impedances to 50Ω. Typical range: 5–2000Ω, with moderate losses at high transformation ratios. L is a roller inductor (variable inductance by tapping along the coil); C1 and C2 are motorized air variables.

2-2 VHF Stub Tuner

A short-circuit stub (adjustable-length transmission line) in shunt with the antenna feedline cancels the reactive component of the antenna impedance. The stub length is adjusted by a motorized sliding short-circuit piston. A quarter-wave transformer section then converts the resistive remainder to 50Ω. Effective for narrowband VHF/UHF matching.

2-3 SWR-Guided Auto-Tune Algorithm

The ESP32 reads the SWR bridge ADC outputs (V_fwd, V_ref) and minimizes the SWR by a coordinate descent algorithm: adjust L in one direction; if SWR decreases, continue; if it increases, reverse. Then adjust C1, then C2. Iterate until SWR <1.5:1 or no further improvement.

Chapter 3 — Equipment and Materials

ComponentValue / PartPurpose
HF capacitors C1, C2365 pF air variable, 2500V ratingHF T-network tuning
Roller inductor0–28 µH, silver-platedSeries inductance
C1, C2 motors12V DC gear motor, 6 RPMMotorize air variables
L motor12V DC gear motor, 3 RPMDrive roller inductor
Position sensors10-turn wirewound pot (×3)Report capacitor/inductor position
SWR bridgeToroid coupler + 1N5711 (from TM-GEAR-015)Forward/reflected sampling
Motor driverL298N dual H-bridge (×2)Bidirectional motor control
ControllerESP32 WROOM-32Auto-tune algorithm, display
DisplayCYD 2.8” ILI9341SWR, tuner settings, band

Chapter 4 — Construction

  1. Mount air variable capacitors in the enclosure with motor shafts coupled via flexible shaft couplers. Use Hall-effect limit switches at both ends of travel to prevent over-rotation.
  2. Mount the roller inductor vertically. Couple the DC motor to the roller shaft via a gear train (10:1 reduction for precise positioning).
  3. Connect the 10-turn pots to the capacitor and inductor shafts via 1:1 direct couplers. Wire pot center tap to ESP32 ADC via a 10 kΩ voltage divider.
  4. Mount the SWR bridge inline between the radio connector and the T-network input. Connect VFWD and VREF to ESP32 ADC.
  5. Wire L298N H-bridges: IN1/IN2 and IN3/IN4 to ESP32 GPIOs (PWM for speed control); OUT1/OUT2 and OUT3/OUT4 to motors. Enable pins to 3.3V for always-on.

Chapter 5 — Operating Procedures

5-1 Manual Tuning

  1. Select band on the CYD touchscreen. The tuner recalls the last successful setting for that band and moves the components to that position.
  2. Key the transmitter at reduced power (5–10W for initial tune). Observe the SWR on the CYD display. Adjust C1, C2, and L buttons until SWR <1.5:1.
  3. Increase power to operating level and verify SWR does not change significantly (if it does, the tuner is not stable at operating power).

5-2 Auto-Tune

  1. Key the transmitter at 10W. Press AUTO on the CYD. The ESP32 runs the coordinate descent algorithm. Typical tuning time: 10–30 seconds.
  2. The display shows SWR progress. When SWR <1.5:1, the algorithm stops and saves the band setting to NVS.
  3. If auto-tune reaches minimum movement without achieving SWR <1.5:1, the antenna may be outside the tuner’s matching range for this band. Check antenna connections and feedline continuity.

Chapter 6 — Calibration

  1. SWR bridge calibration: connect a calibrated 50Ω load. Adjust the SWR bridge null trimmer until reflected reading = 0. Adjust forward calibration trimmer until forward reading = applied power.
  2. Position sensor calibration: with each component at minimum position, record the ADC reading. With each at maximum, record the ADC reading. Enter these bounds in firmware for linear interpolation to real units (pF or µH).

Chapter 7 — Verification and Acceptance

  1. Tune into a 50Ω reference load: SWR must read <1.05:1 (verifies SWR bridge calibration).
  2. Tune into a 200Ω non-reactive load: auto-tune must achieve SWR <1.5:1 within 60 seconds on any HF band.
  3. Band memory: select 40M, tune to best SWR, change to 20M and tune, then return to 40M — the tuner must return to the 40M setting within 3 turns.
  4. Motor limit switch test: command full travel in each direction. All three motors must stop at limit switches without stalling.
  5. Log: date, SWR bridge calibration check, position sensor ranges, auto-tune test result (band, load, SWR achieved, time), operator.

Appendix A — T-Network Matching Range

T-network with C1_max = C2_max = 365 pF, L_max = 28 μH:
  At 14 MHz:  matchable impedance range = ~5Ω to ~2000Ω
  At 7 MHz:   matchable impedance range = ~10Ω to ~1000Ω
  At 3.5 MHz: matchable impedance range = ~20Ω to ~500Ω
  (Rough estimates; actual range depends on losses and Q)

Appendix B — Coordinate Descent Auto-Tune Pseudocode

function auto_tune():
  repeat:
    for component in [L, C1, C2]:
      step component in positive direction
      if SWR improved: continue stepping
      else: step in negative direction until SWR stops improving
    if SWR < 1.5 or no_improvement: break
  save_band_settings(band, L_pos, C1_pos, C2_pos)