Antenna Rotator Controller
A touchscreen replacement for a stock rotator control box — built on an ESP32 driving an ILI9341 display, with smoothed azimuth readout, direct motor regulation, and live wind data on screen.
Overview
Most stock rotator controllers give you a needle and a stop button. This project replaces that with a touchscreen interface: a live azimuth display, direct on-screen control buttons, and a status readout — all driven by an ESP32 reading the rotator's position sensor directly.
How it works
The azimuth sensor feeds an analog reading into the ESP32's ADC. That raw value drives the motor regulation loop directly, so the rotator always responds to the true, unfiltered position. For the on-screen number, a separate 30-sample moving average smooths out ADC flutter — so what you see on the display is steady and readable, without slowing down the actual control loop underneath it.
A non-blocking polling routine checks a local Ecowitt WS90 weather station every few minutes over the home network and parses out wind speed, gust and direction from its JSON output, ready to be shown alongside the azimuth reading once the weather hardware is mounted.
Gallery
Firmware history
- V1.74Split display smoothing from motor control — added a dedicated averaged variable so the needle reading is calm without touching regulation accuracy.
- V1.76Current stable build. Confirmed button geometry across the touch interface.
- V1.77Wind data integration module — non-blocking polling from an Ecowitt gateway, parsed and held ready for on-screen display.