For active satellite operation in the VHF and UHF bands, tracking a moving satellite is a necessity. Commercial control units for AZ/EL rotators are expensive. French radio amateur Gilles F1EFW, a member of the F6KMF club, has developed a solution based on the Arduino UNO platform that will replace the original rotator control boxes at a fraction of the cost of commercial equipment.
Advantages of using Arduino for satellite AZ/EL Rotator

The main advantage of this solution is its low price. According to the author, the implementation costs, including second-hand rotators, do not exceed €100. Another advantage is its versatility – the interface works with any rotator using a relay-controlled motor and feedback via a potentiometer, including old rotators without original control boxes or home-made designs.
The entire sketch is freely available, well documented, and easily adaptable to your own hardware. Calibration is limited to measuring the voltage ranges of the potentiometers and calculating the conversion factor of the steps to ADC units.
Ease of connection
All you need is a standard Arduino UNO, a 16x2 alphanumeric LCD display with an HD44780 controller, a 4-channel relay module (available for a few euros), two potentiometers mounted on the rotator shafts (one for Azimuth, one for elevation), and a minimal amount of connecting wires. No additional conversion chip or external UART adapter is required - communication with the computer is done directly via the Arduino's built-in USB serial port.
Connection description
The wiring is based on the attached description of the sketch of version V4 (F1EFW) and is divided into three functional units: position sensing, position display and motor control.
Rotator position sensing

Each rotator has a potentiometer mechanically connected to the shaft, the slider of which is connected to the Arduino analog input. The azimuth potentiometer is connected to input A0, the elevation potentiometer to input A1. The extreme terminals of both potentiometers are connected to +5 V and GND. The Arduino reads the voltage on the slider and converts it to an angle using a calibration coefficient that the operator measures individually for each rotator according to the actual voltage range at full rotation.
LCD display
The 16×2 LCD with the HD44780 controller is connected in 4-bit mode. Control signals and data lines are applied to digital outputs D7 to D12. The first line of the display shows the azimuth and elevation position received from the satellite tracking software (SAT A:xxx E:xxx), the second line shows the current antenna position read from the potentiometers (ANT A:xxx E:xxx). The display brightness is adjustable with a 10 kΩ trimmer connected to the VO pin.
Motor control via relay

Four relays control the direction of rotation of both motors: D5 – AZI CW, D6 – AZI CCW, D3 – ELE UP, D4 – ELE DOWN. The software loop compares the desired position from the serial port with the current position from the potentiometers and activates the corresponding relay if the difference exceeds an adjustable tolerance (marge parameter, default 4°). At zero or negative elevation, both motors are stopped.
An overview of the Arduino UNO input and output connections is in the following table.
| Arduino pin | Connected device | Function |
|---|---|---|
| A0 | Azimuth potentiometer (slider) | Feedback from AZI |
| A1 | Elevation potentiometer (slider) | Feedback ELE |
| D3 | Relay IN3 | ELE UP |
| D4 | Relay IN4 | ELE DOWN |
| D5 | Relay IN1 | AZI CW |
| D6 | Relay IN2 | AZI CCW |
| D7 | LCD RS | Display register selection |
| D8 | LCD E | Enable display |
| D9–D12 | LCDs D4–D7 | Display data lines (4-bit) |
| USB | PC (serial COM port) | GS-232 commands from the tracking SW |
Advantages of the new version: GS-232 protocol
The original version of the sketch (from 2023) communicated exclusively via WispDDE, which limited the choice of satellite tracking software to Orbitron or SDR-Console with a DDE bridge. The new version V4 (published in June 2026) introduces support for the GS-232 protocol, which is now the de facto standard in the field of rotator control for satellite operations.
Sketch číta zo sériového portu (9600 Bd) reťazce v tvare W+azimut+Elevation, napríklad W235 025 pre azimut 235° a eleváciu 25°. Kód vyhľadáva znaky W alebo w kdekoľvek v prijatom reťazci, čo zaručuje správnu funkciu pri rôznych implementáciách GS-232. Vedľajšie príkazy sú ignorované. Interface je priamo kompatibilný so SatTrack, OscarWatch, PstRotator, SDRConsole and other modern monitoring programs - without the need for DDE bridges.
For manual testing and debugging without tracing software, the author recommends the terminal program Termite, which allows sending GS-232 strings directly from the computer's serial port.
Videos
The following video captures the first QSOs on satellites after the F1EFW AZ/EL system was put into operation, including automatic trajectory tracking and Doppler shift correction using SDRConsole.
Conclusion: where to find more information and a sketch
A complete and well-annotated sketch of version V4, including calibration coefficients for specific rotators, is published directly in the F1EFW article on the F6KMF club website: https://f6kmf.fr/index.php/2026/06/19/arduino-a-la-poursuite-des-satellites-nouvelle-version-du-programme/A description of the original version for AZ/EL from 2023, including photos of the mechanical installation of the rotators and wiring details, is available at: https://f6kmf.fr/index.php/2023/09/14/arduino-et-la-Radio-a-la-poursuite-des-satellites-version-site-azimut/The author is also available directly via the contact form on the F6KMF club website and is happy to answer questions about connection and calibration.
For a radio amateur with basic knowledge of electronics, this is a feasible weekend project with immediately usable results on the VHF and UHF bands.
