Green Heron RT-21 Az-El Controller with Python 3
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jeff Moe 639681b094 Scriptlets to control greenctld 2 months ago
img Green Heron / Alfa SPID RAS pic. CC docs license 2 months ago
satnogs-client 180 degree errr fix 2 months ago
scripts Scriptlets to control greenctld 2 months ago
.gitignore vim ignore 2 months ago
LICENSE Update licenses 2 months ago
LICENSE-CC Green Heron / Alfa SPID RAS pic. CC docs license 2 months ago
LICENSE-upstream Update licenses 2 months ago README fork greenctld 2 months ago Green Heron / Alfa SPID RAS pic. CC docs license 2 months ago
greenctld python 3, bsd, libre port 2 months ago
requirements.txt Port greenctld to python3 2 months ago


Controller software for Green Heron RT-21 Az/El.

Green Heron RT-21 Az/EL Alfa SPID Green Heron RT-21 controller with Alfa SPID RAS


Install thusly:

sudo apt install python3-virtualenv python3-pip
git clone
cd greenctld
virtualenv -p python3 env
source env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt


HOWTO connect to the Libre Space Foundation's SatNOGS network? Not sure.

The Green Heron RT-21 driver that has been in Hamlib for a decade only supports one USB port. Th Green Heron RT-21 Az/El has one USB port for azimuth and one USB port for elevation. This makes the Hamlib driver that has been in Hamlib for 10+ years unsuitable for use with an Az/El antenna setup. In sum, the hardware isn't plug & play with satnogs-client.

There is a driver under a libre license available upstream here:

The greenctld in that repo was written for Python 2. The present spacecruft repo ports it to Python 3. This is mostly done. The greenctld daemon listens on port 4533 similar to rotctld. It is unclear to me how to get the satnogs-client to use this port instead of wanting to start it's own rotctld.

In July of 2021, a commit was made to the main Hamlib repo that added dual USB control for the Green Heron RT-21 Az/El. This commit is not in the Hamlib version that is in the latest satnogs-client release, however. The new version adds a second controller command line option:

  -r, --rot-file=DEVICE         set device of the rotator to operate on
  -R, --rot-file2=DEVICE        set device of the 2nd rotator controller to operate on

One option would be to adapt satnogs-client to use this new version. Another option would be to port these patches back to the version satnogs-client is running.

SatNOGS Connection Options

Which option to use to connect the Green Heron RT-21 to satnogs-client? Possibilities:

  • Configure satnogs-client to use greenctld instead of rotctld.
  • Patch satnogs-client to use recent Hamlib (no changes to Hamlib).
  • Patch Hamlib with backported dual USB patches (no changes to satnogs-client).
  • Other.


Upstream Python 2 version.

Copyright (c) 2017, Astro Digital, Inc.

License / Copyright

Port from Python 2 to Python 3 of mct's greenctld. Same as upstream, permissive license, see LICENSE.

Documentation License: CC By SA 4.0 International.


Copyright (C) 2022 Jeff Moe.