Post

EPS-103 Controller with GPredict

EPS-103 Controller with GPredict

Controlling the EPS-103 Rotor with GPredict via Python

As mentioned in my previous post, I’ve now written a small Python program to control my EPS-103 rotor controller using GPredict. The project is based on an existing script by Gabe Emerson (known from the YouTube channel Saveitforparts). While only a small portion of the original code remains, I still want to give proper credit to Gabe for the initial inspiration.


1. Installation

To install the software, simply clone the repository and install the required Python dependencies:

1
2
3
git clone https://github.com/andreaspeters/eps-controller
cd eps-controller
pip install -r requirements.txt

2. Configuration

Next, edit the file src/rotor.py and adjust the serial_port variable to match the USB or COM port your EPS-103 controller is connected to.

By default, the controller communicates at 1200 baud. If your configuration differs, you can change the baud rate at the bottom of the same file.


3. Running the Program

To start the server, run:

1
2
[nix-shell:/data]$ python src/rotor.py
Listening on 0.0.0.0:4533

This will start a socket server on port 4533, ready to receive commands from GPredict.


4. Configuring GPredict

In GPredict, go to Edit → Preferences → Interfaces and add a new rotor interface.

GPredict Rotor Control

Set the hostname to localhost and the port to 4533 (or the one you configured in the script).


Final Result

If everything is configured correctly, you should now be able to control your EPS-103 rotor directly from GPredict.

GPredict Rotor Tracking


You can find the full source code and further documentation on GitHub: ➡ GitHub Repository: andreaspeters/eps-controller

This post is licensed under CC BY 4.0 by the author.