UNCLASSIFIED
TM-GEAR-017
ROLLER INDUCTORS — MOTORIZED VARIABLE INDUCTANCE
ESP32 + DRV8825 Controller, Limit Switches, Encoder Position, OLED Display
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 the motorized roller inductor controller for use in antenna tuners (transmatches), transmatch remote positioning, and inductor matching networks. The controller drives a DRV8825 or A4988 stepper motor driver to position a sliding contact along a large air-core inductor coil, providing continuously variable inductance from 0 to the maximum value (typically 20–30 µH for HF antenna tuner use). Position is tracked by encoder and limit switches; a front panel encoder + OLED provides manual control.

Chapter 2 — Theory of Operation

2-1 Variable Inductance

A roller inductor consists of a large single-layer air-core coil wound on a threaded ceramic or PTFE former. A sliding contact (the “roller”) driven along the former by a threaded rod taps a variable number of turns. Inductance is approximately proportional to turns squared (Wheeler’s formula) for a fixed coil geometry:

L = r² × N² / (9r + 10l)   (L in µH, r and l in inches)
For a fixed coil with N_total turns:
  L(n) ≈ L_max × (n / N_total)²

A 25 µH roller inductor with 40 turns has L = 0 at n=0, rising to 25 µH at n=40. The relationship is not exactly quadratic due to coil end effects, so a calibration table maps encoder position to actual inductance (measured with an LCR meter).

2-2 Stepper Motor Positioning

A NEMA 17 stepper with 200 steps/rev, 1/16 microstepping = 3200 steps/rev. The lead screw pitch (typically 1.25 mm/rev for M8) gives a linear resolution of 1.25 / 3200 = 0.391 µm per step — far more than needed. Position is tracked by step count from the home position (home limit switch). On power-up, the controller homes before accepting position commands.

Chapter 3 — Equipment and Materials

ComponentValue / PartPurpose
Roller inductor bodyCommercial 20–30 µH (Cardwell, Barker&Williamson)Variable inductance element
Drive motorNEMA 17, 1.5A, 200 steps/revRotate roller screw
Motor driverDRV8825 or TMC2208 moduleMicrostepping drive
ControllerESP32 WROOM-32Step generation, position tracking
Limit switches2× microswitches (home and end)Hard stops + home reference
Position encoderOptical encoder OR step countingPosition feedback
DisplaySSD1306 0.96” OLEDInductance, position, status
Manual encoderKY-040 rotary encoderManual position control
Power12V 2AMotor VMO T + 3.3V for ESP32

Chapter 4 — Construction and Setup

  1. Mount the roller inductor securely; the roller screw must rotate freely without binding. Any binding causes lost steps, which corrupts the position tracking.
  2. Couple the NEMA 17 shaft to the roller inductor shaft via a flexible coupler or 3D-printed coupling gear. Ensure axial alignment within 1 mm.
  3. Mount microswitches at the home (minimum inductance) and end (maximum inductance) positions. Wire both normally-closed (NC) for fail-safe operation — a broken wire trips the limit rather than ignoring it.
  4. Wire the DRV8825: VMOT to 12V; EN, STEP, DIR to ESP32 GPIO; M0/M1/M2 for 1/16 step mode (all high); SLEEP high (always enabled).

Chapter 5 — Operating Procedures

5-1 Homing Sequence

  1. On power-up, the controller automatically homes: moves toward the home limit switch at 100 steps/sec until the switch opens; then backs off at 50 steps/sec until the switch closes again. This position is zero.
  2. After homing, move to the last-used position (stored in NVS).

5-2 Setting Inductance

  1. Enter the desired inductance in µH on the CYD or OLED display. The ESP32 looks up the corresponding step count in the calibration table and commands the motor.
  2. For SWR-guided auto-tuning: the tuner controller (TM-GEAR-012) sends the target inductance via I2C or UART to the roller inductor controller.

Chapter 6 — Calibration

  1. Set the roller to each of 10 equally-spaced positions (0, 10, 20, ..., 100% of full travel). Measure inductance at each position with an LCR meter at 100 kHz. Record the (step_count, L_uH) pairs as the calibration table.
  2. Store the calibration table in ESP32 NVS. The firmware uses linear interpolation between table points for positions between calibration points.
  3. Calibration must be repeated if the motor coupler or limit switch position is changed.

Chapter 7 — Verification and Acceptance

  1. Position repeatability: command 10 µH 10 times from random positions. Measured inductance must be within ±0.5 µH of target each time.
  2. Limit switch test: command travel beyond the end-of-travel limit. Motor must stop at the limit switch; verify no lost steps after the stop.
  3. Home repeatability: home 5 times. After each home, command 10 µH; measure inductance. Must be within ±0.2 µH each run.
  4. Log: date, inductor model, calibration table (10-point), home repeatability, position repeatability at 10 µH and 20 µH, operator.

Appendix A — Common Roller Inductor Specifications

ModelMax L (µH)TurnsCurrent rating (A)
Cardwell 154-33334515
B&W 850254020
Barker Williamson 851505620
Homebrew (see TM-GEAR-006)VariableVariableDepends on wire gauge

Appendix B — Inductance Calibration Worksheet

Step count% travelL measured (µH)
00%___
32010%___
64020%___
96030%___
128040%___
160050%___
192060%___
224070%___
256080%___
288090%___
3200100%___