AntRunner
a DIY Antenna Rotator by BG5DIW
Install / Use
/learn @wuxx/AntRunnerREADME
AntRunner
Introduce
AntRunner is a portable antenna rotator designed and made by MuseLab(Another model we designed is the AntRunner-Pro, which is suitable for fixed installation and long-term operation). It can be used for real-time automatic racking of satellites with corresponding open source software which is available on Windows/Linux/Mac/RaspberryPi/Android. The rotator and the host computer can communicate via wired (serial port) or wireless (Wifi 2.4G). It can install various types of antennas (usually Yagi antennas), support 360-degree azimuth and 180-degree elevation control, and can support antennas up to 10KG. It can be powered by a 12V battery or by a fast charging power bank with a 12V fast charging trigger cable. It’s easy to carry as its weight is relatively light and very convenient to use in the wild for HAM.

Feature
- full Azimuth and elevation angle tracking
- Support Windows/Linux/RaspberryPi/Android
- Support wired serial port control
- Support wireless WiFi 2.4G control
- 12V power supply, convenient for field erection
- Easy disassembly and assembly
Specification
- Rotation Limit: AZ: 0 - 360°; EL: 0-180°
- Max Load: 10KG
- Backlash: AZ:1° EL:1°
- Weight: 2.5KG
- Rotator Diameter x Height: 120mmØ x 65mm (H)
- Support Material: 5mm/10mm Acrylic
How to Use
Windows
0 Antenna installation
Install the antenna on the U-shaped bracket of the rotator through the U-shaped hoop, and pay attention to install it at the center of gravity of the antenna to make the operation more stable.
1 Rotator adjustment
Before powering on, you need to adjust the azimuth of the rotator to true north (azimuth angle of 0 degrees), and the pitch to be horizontal (pitch angle of 0 degrees). This step can be adjusted through the mobile compass APP.
2 Power up
Use the 12V power supply to power on the rotator, and connect the rotator and PC through the TYPE-C cable. After the normal connection, a serial port will appear in the device manager, as shown in the figure.

3 Start Hamlib
Enter the Hamlib directory, there is a batch script in the directory, and the script is a command, as shown below, you need to manually edit the script to modify the serial port number. Since the serial port number is assigned by the system, the serial number is different for different systems, so you need to use a text editor to manually change the serial port number before running.
rotctld.exe -vvvvv -m 2401 -r COMx
Modify COMx to the actual serial port number that appears in the device manager, save the script, and double-click to run it.

4 Start Gpredict
Double-click gpredict.exe to open the Gpredict program

4.1 Longitude and latitude configuration
First, you need to configure the latitude and longitude of your region, select Edit -> General -> Ground Stations -> Add new, and configure your local latitude, longitude and altitude on the page that comes out.

4.2 Satellite configuration
You need to add the satellites you want to track to the list, click the inverted triangle on the upper right, select Configure, and add the satellites you want to track to the small window on the right in the window that appears.

4.3 Rotator configuration
Create a new rotator device, select Edit -> Interfaces -> Rotators -> Add New, and configure it as shown

4.4 Rotator test
After configuring the rotator device, you can perform a preliminary test on the rotator. Click the inverted triangle on the upper right and select Antenna Control to enter the antenna control page.
select the newly created grbltrk, click Engage to initialize the rotator, and then configure the azimuth and pitch angles. After configuring the rotator, it will respond immediately and return the current angle value in real time.

4.5 satellite tracking
Select the satellite to be tracked in Target, such as ISS, click Track, the rotator will start tracking the satellite in real time, if the satellite is not in entry, it will adjust the pitch angle to 0 degrees, and the azimuth angle to the angle when the satellite enters, wait for the satellite to enter, The radar map on the left also shows the satellite's inbound trajectory and the current rotator position.

Raspberry
Since Gpredict is also supported under Linux, it can be directly run and used in the Raspberry Pi. The operation steps are basically the same, and will not be repeated here. here is how to start the Hamlib
rotctld -vvvvv -m 2401 -r /dev/ttyUSB0
Android
Look4Sat
Look4Sat wireless control is currently supported, please refer to this repo Look4Sat-AntRunner-Controller
System Detail
This section is a detailed description of the technical principle. Those who are not interested can ignore the description in this section and go directly to the actual operation chapter.
Rotator Motor Control
The bottom chip of the rotary controller uses ESP32, and the firmware running on it is GRBL, which was originally an open source CNC control firmware, and was first run on the ATmega328P chip (a low-end single-chip microcomputer with a main frequency of only 16MHz, SRAM The capacity is 2KB, and the Flash storage capacity is 32KB), while ESP32 is a WiFi chip launched by Espressif Information Technology. With 40nm process, dual-core 32-bit MCU, 2.4GHz dual-mode Wi-Fi and Bluetooth chip, the main frequency is up to 240MHz, the SRAM capacity is 520KB, and the Flash capacity is up to 16MB. It supports more and stronger features, so the Grbl_ESP32 version transplanted by the open source community is used.
It not only supports conventional serial port control, but also has a complete set of WEBUI, which can be manually controlled and configured through the WEBUI, and can also be controlled through the telnet 22 port. (Of course, an HTTP request can also be constructed to realize control from the WEB 80 port), since ESP32 supports Bluetooth, the motor control can also be achieved theoretically through Bluetooth. Since WiFi communication is more universal, the speed and stability of communication are also relatively high. Better, and the software protocol stack based on TCP/IP makes communication more stable and reliable, so the current implementation of wireless control is based on WiFi.
By default it creates its own wireless network SSID GRBL_ESP with default password 12345678 you can connect. You can connect and use WebUI to change, or you can change through serial commands to e.g. connect to your existing WiFi network. See the Grbl_Esp32 wiki for more instructions.
Note 1: The control command of the Grbl system is generally called G-code, which is a simple command system also used for e.g. CNC or 3D printing. For example: "G0 X0 Y5" means to move the current position to the coordinates [0mm, 5mm]. But with AntRunner 360º = 40mm (both X Azimuth and Y Elevation), so to move to 45º elevation G0 Y5 or to move azimuth by one degree G91 G0 X0.111 G90 (relative and then restore absolute).
Grbl also has its own $… command system. For more:
- Grbl FAQ for G-Code points to http://linuxcnc.org/docs/html/gcode.html
- Grbl
$…commands: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands - Grbl ESP32 has additional settings: https://github.com/bdring/Grbl_Esp32/wiki/Settings
Gpredict
Gpredict (https://github.com/csete/gpredict) is lead by Alexandru Csete (call sign oz9aec) is an open source real-time satellite tracking and orbit forecasting software that can track an unlimited number of satellites and display their positions and other data in lists, tables, maps, radars, etc. It can also predict the future time through a satellite and provide you with detailed information. In addition, it can connect to a variety of commonly used radio stations, SDR equipment and a variety of antenna rotators. The main use scenario of AntRunner is to cooperate with Gpredict. Real-time track
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
