Greencube Terminal Program

Greencube / IO-117 Terminal program

Greencube / IO-117 is a small satellite that caries a UHF (435.310 MHz) Digipeater. As the satellite has a large footprint (satellite is around 5800 Km above the earth) it is a effective way of contacting "far away" places. The footprint (coverage) of the satellite is around 13.000 Km.

Andy, UZ7HO makes a very nice "Soundmodem" for Greencube, it decodes and encodes the digital traffic using the soundcard of a PC.

Andy also make a "terminal program" for sending and receiving messages from Greencube (via the "Soundmodem"). I had the idea to make a new terminal program that would give me a couple extra features, and that also would allow me to discover "not worked before" stations, new grids etc. The terminal program interfaces with N3FJP logprogram, ACLog. ACLog is a very nice logging program that can have its userinterface customized to fit your specific taste and need. 

ACLog also have API interface where you can query and inject data in ACLog.

The Terminal program uses this API (via a TCP/IP socket interface) to check if a received callsign has already been worked or not (checked via QRZ.COM). If the station has included a (maybe temporary) grid in his CQ call, the Terminal program sees this and will also check if this grid already has been confirmed or not on QRZ.COM. If either the station has not been worked before, or if the grid the station broadcasts in its CQ call, has been confirmed before or not. These stations are clearly marked in the "Dupelist" list, using color codes. Voice messages will be emitted (can be configured).

The Terminal program can also log QSO's local in a ADIF file, this file can then later be imported into your favorite logging program.

The newest version (from can also use the ADIF file for checking if a grid and/or a callsign has been worked before. This makes it independent of ACLog!

The Terminal program will also allow you to log your QSO's to a ADIF file for import into your favorite log program.

You can also log a contact to any N1MM TCP compatible program (N1MM logger, Swisslog etc)

PLEASE NOTE: some of the screenshots on this page are from "older" versions of the terminal program, so they might not be 100% accurate (more features are added to the program once in a while)

Thanks to Andy, UZ7HO for his soundmodem and original terminal program.

Also big thanks to my good friend, Paolo, IK3ITB for testing, suggestions and bug finding :)

The program contains two windows:

The large one to the left is called the "Traffic window". The one on the right is called "Dupelist".

The Traffic windows shows all incoming and outgoing messages. Different types of messages are shown in different colors. These colors can be changed by clicking on the small colored reactangles below the traffic window.

The "Normal" color is for ordinary traffic, messages from other stations.

"To me" colored messages are messages that has my callsign in the "To" field of the messges. 

"CQ" colored messages are messages that contains the text "CQ" in either the "To" field or inside the actual message.

"My TX" color is messages that have been transmitted via the Terminal program.

The window on the right, the "Dupelist" is a list of all callsigns that have been received (callsigns in "From" field in the traffic window (excluding any messages from my own callsign). The different callsigns in the dupelist are colored in different colors depending on the status of the callsign. 

The "Dupe" color is callsigns that have already been worked and confirmed in ACLog (f.ex by LoTW etc).

"Grid" coloroed callsigns are callsigns that are in a grid that has not yet been confirmed (or worked).

"COSI" is a callsign that exists in the "COSI list" of callsigns, this list can be maintained by pressing the button "Edit COSI" just above the dupelist window. The COSI (Callsign Of Special Interest) can be used to mark certain callsigns that you want to look out for, it can be a rare DX station, a buddy etc. You can select if the callsign will be searched in the From, To and/or message. Any combination of these can be selected in the COSI dialog.

As already explained, all these colors can be defined by clicking on each of the colored rectangles below the two windows.

The top of the screen contains some simple statistics. The number of unique calls in the Dupelist window, statistics for the number of transmissions, number of times "my own" transmissions has been digipeated from the satellite (and that my station actually has received), number of times I have succesfully sent a "CQ" message etc.

The dupelist contains a list of all callsigns heard (since Terminal program was started, or the list cleared by pressing "Clear list" button).

Each line shows the callsign, elapsed time since the call was heard transmitting, the number of CQ calls the station has made and the current satellite elevation based on the grid the station reports.

Each line will be shown in a color. These colors can be defined by clicking on the 4 colored rectangles below the dupelist.

In this list, we can see that most of the callsigns are with white backgrund. This means they are "dupe", callsigns that have already been worked and confirmed.

If a callsigns is green ("Initial") it is a callsign that has not been worked before. The red callsign with the "Grid" color, is a station that is in a grid that has not been confirmed (the grid included in the message from the station). The station can actually very well have been worked before, but the terminal program has detected that the station is in a new (not confirmed) grid.

It does so by looking in the messages from the station, checking if a grid locator is in there. If there is a grid locator in the message, this is being checked in the selected log program (in Settings), if not already confirmed, the line will be colored in "Grid" color (red in this case).

Lets say the callsign MY1CAL is listed on QRZ.COM as located in JO45. And lets also say that I already worked this station and that the QSO was confirmed.

Lets also say that MY1CAL send out a CQ like this:
"MY1CALL CQ JO44 looking for NA"

The terminal program detects that "JO44" in the message is a grid, it checks ACLog (or TCP Log) if JO44 has already been confirmed, if not, it will paint the line in "Grid" color (red) signaling to the user that this callsign needs to be worked (for a new grid).

Please also note, that if a callsign has already been worked (in a new grid) but the station has for some reason not confirmed the QSO, the next time the terminal program is running and it sees this callsign (or another callsign from the same grid), it will alert you by painting the line in "Grid" color. This will continue until someone of your QSO partners confirms this grid.

Whenever a new call, a new grid or a callsign in the COSI list is detected, a voice message will be played (can be disabled in Settings).

The COSI window is shown below. You can add/remove callsigns (or any other text). Select which fields the program will search for the text. All texts are converted to uppercase automatically.


The settings should be pretty to understand. You can set the IP address of the PC for both the UZ7HO soundmodem and for the various logging options. The port number for the Soundmodem must match the one set in Soundmodem program (default port 8100). The settings for ACLog are pretty simple, just remember to enable "API server" for ACLog (see the configuration section for my SatPC32 to ACLog program). If you set "Grid" to your current grid, the main screen will show the Az/El of the satellite from your position. The TLE data box is data for Greencube/IO-117 so that the current elevation for each callsign in the Dupelist can be shown.


Shortcuts for messages can be set by right clicking on the 10 buttons at the top of the main screen


Below is a typical view. The light blue lines are for IK3ITB, that callsign is in the COSI list and will be highlighted in both the traffic window and the dupelist.

The pink lines are from stations calling CQ (CQ in "To" or "Message" fields). In the dupelist, EA7KI is in green ("Initial"). That is a station that I have not worked before, but his grid has already been confirmed by another station I have worked. SP6IWQ is in a grid that I is not yet confirmed, in this case I have already worked the station, but no confirmation yet from the station. All the "dark gray" lines in the dupelist ("Dupe") is stations that have already been worked (and confirmed)

Double clicking the "To" field will send the callsign to ACLog so it is ready for logging.

Pressing "Escape" when the "To" field is active will clear the entryfields of ACLog.

Double clicking a callsign in the Dupelist will copy the callsign to the "To" entryfield.

Double clicking a line in the traffic window will copy the "From" callsign to the "To" entryfield.

Right click on a selected line in the traffic window OR on a callsign in the Dupelist, will bring up a context menu where you can send the callsign to ACLog (just as if you entered the callsign in the "Call" field in ACLog.


Aboutbox with version info:

Enable the API interface of ACLog (done in "Settings" in ACLog):

The program can be downloaded below, BUT!

I ONLY ASK, THAT IF YOU LIKE AND USE MY PROGRAM, PLEASE donate whatever amount you see fit

to Andy, UZ7HO (see his website for info). I don't want anything, send it to Andy instead !!


NOTE: You can have both this terminal program as well as the original UZ7HO Client program running at the same time in parallel!   

The terminal program is built on .NET Framework 4.8!
REMEMBER to download at least version of ACLog on the "Beta" page of N3JFP page!

Current version:

2023-03-29 Greencube Terminal program (Windows), Version


Older versions:

Release notes:

20230329 Version

  • NOTE: Some settings has CHANGED! You NEED to go thru the Settings menu and set the correct values again!
  • Added support for logging contacts via UDP (for Ham Radio Deluxe etc). Configure in Settings (Thanks WA6RLR)
  • Now you can select what method is used for callsign/grid lookup (one of ACLog, TCP Log, ADIF file or none)
  • You can enable/disable each logging method seperately (all can even be enabled at the same time if you like)
  • In ACLog, when logging a contact "FREQUENCY" field is also set (to 435.310 MHz)
  • In dupelist, if you click on a callsign and press "DEL" key, you can remove a callsign from the dupelist.
  • New setting, repeat voice messages for new callsign / new grid if callsign/grid is received again after being silent for x number of minutes.
  • When logging via TCP Log, a special template file can be used if needed (required for DXKeeper etc). Contact me. (thanks KG4AKV)
  • NOTE: Some settings has CHANGED! You NEED to go thru the Settings menu and set the correct values again!

20230326 Version

  • Made program more resistant to being offline and TLE selected as remote (Thanks 4O4A)
  • Program can now search the ADIF file for grid/callsigns and mark them as worked/new/dupe (instead of using ACLog!). Only records with "PROP_MODE = SAT" will be used! Must be enabled in "Settings" (Thanks EA4T)
  • More resilient if settings for Soundmodem is changed (In some cases the program needed to be restarted, not any more)
  • Pressing F12 will log the callsign in the "To" field to the ADIF file and/or TCP log (Thanks EA4T)
  • Rewrote the search/extracting of grids in messages (eliminated RegEX/problem on some .NET runtime versions)
  • Implemented TCP logging (f.ex for N1MM etc). Enable in Settings (Thanks EA4T/EA3GCV and others)
  • On main screen the AOS/LOS is shown for own station, AOS will show countdown clock is less than 1 hour to AOS, otherwise AOS time is shown

20230319 Version

  • Fixed bug, if "To" callsign contained "CQ" as part of a callsign (f.ex R0CQ) it would be marked in "CQ" color (Thanks JK2XXK)
  • Version number is shown in titlebar

20230317 Version

  • Messages will be searched a little deeper for valid grids. F.ex the message: "Operator John Smith-JM56aa-many thanks" will be correctly handled and JM56aa will be seen as a grid (thanks W5CBF)

20230315 Version

  • Bugfix for version

20230314 Version

  • By popular demand :) Added ADIF "log QSO" function (right click on selected line in Traffic or Dupelist windows). Filename needs to be set in "Settings"
    (No edit possibility for QSOs etc! Only added to the .adi file which can then be imported/edited in another tool/notepad etc)
  • Added an export function, all lines in the traffic window with "To" or "From" with MyCall will be exported to a textfile (thanks KG4AKV)

20230312 Version

  • In the entryfields for "To", "MSG" and "TX Delay", pressing ESC will clear the fields and also clear fields in ACLog (thanks IK3ITB)
  • If a callsign is "sent to ACLog" from either the traffic window, the dupelist or by double clicking in the "To" field, the grid for the call (if it was specified in a message) is sent to ACLog instead of the stations default (from QRZ.COM) grid (thanks IK3ITB)
  • When a line is selected in either Traffic window or Dupelist and rightclicked, the callsign is shown in the contextmenu (thanks K8DP)
  • Ignorelist functionality added. In Settings you can set if messages from the callsign(s) in ignorelist shoul be shown in lightgray or not shown at all
  • Added AOS time/LOS countdown to info box at top of main window (below Mycall, grid and Az/El)

20230305 Version

  • Statistics, number of telemetry packets was not reset when "Clear" button was pressed
  • Added a line in traffic window/"monitor.log" file when telemetry received, must be enabled in settings (thanks to KG4AKV)
  • Added 5 more shortcut buttons (Send button is now F11 as shortcut!) (thanks K8DP)
  • If you previously entered your grid in settings it is now reset. Please set it again.

20230301 Version

  • Added current elevation for each callsign in Dupelist (only when station has its grid in its message at some point)
    In settings, set URL to use for TLE elements or use a local file (default set to "daily" which works fine)
  • Column width in Dupelist are also saved/restored after each run of program (same as the traffic window)
  • When "store&forward" messages received (TXDelay > 15 seconds) they are not checked for "Initial"/"New grid" (thanks K8DP)
  • Added statistics for number of digipeated packets and telemetry packest received

20230224 Version

  • Added MyCall and info field on main screen (thanks K8DP)
  • Added ACLog API portnumber to settings screen (default is port 1100) (thanks K8DP)
  • "To Me" color takes precedence over "COSI color" in traffic window (thanks K8DP)

20230222 Version

  • Fixed "> 1 Hour" error in dupelist when crossing 00:00 UTC (thanks W5CBF)

20230221 Version

  • All voice messages are done in English (including numbers now, not in local language)

20230221 Version

  • Larger fonts allowed in traffic window (font selection window will be rewritten at some point) (thanks to N7BT/K8DP)
  • Fixed error when connecting to Soundmodem, port 8100 was hardwired in program. Now value in settings is correctly used (thanks to OK2ZC)
  • Added time since "My own TX", "My own RX" and "My #CQ" (thanks to K8DP)
  • Changed all time shown to "hh:mm:ss", does not follow local settings (AM/PM etc) anymore (thanks to K8DP)

20230220 Version

  When sending a callsign to ACLog, the following fields are also set (thanks to N7BT):
    SATNAME = IO-117
    BAND = 70
    MODE = PKT
    RSTS = 599
    RSTR = 599

20230218 Version

  Better handling of Text-To-Speech errors

20230211 Version
  Added context menu in traffic and dupelist with "add callsign to COSI list"

  Changed the "Normal" default color on traffic list to true white (was 0,0,0,0 before)

  TXDelay can not be set higher than 10 seconds (to remove possibility of "store and forward" QSO's)

20230210 Version
  First test version