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 as well as various "TCP and UDP enabled loggers" such as N1MM, Ham Radio Delux, Swisslog, Cloudlog, DXKeeper etc. If you don't have a logprogram that can be externally interfaced, you can direct all your logging to a local ADIF file. ACLog, Cloudlog or a local ADIF file can be searched for callsigns anf grids to show if they have already been worked before.

The Terminal program uses one of these possibilities to check if a received callsign has already been worked or not. 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. If 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/Cloudlog for callsign/grid checking!

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 a "Inject" window. Using this feature it is possible to "inject" messages into Terminal as if they came from Soundmodem (the satellite). This way you can experiment with the many features of the program in a controlled manner. Click anywhere in the traffic window, and press the key "j" on the keyboard. This will bring up the "Inject" window. Use that to inject different messages into Terminal.

The program contains three windows:

The large one to the left is called the "Traffic window". The one on the right at the bottom is called "Dupelist". Top right one is the "CallingMe" window.

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 bottom 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.

Stations that uses the Greencube Terminal program will be shown in bold (this means that these station will be able to receive messages with multiple callsigns in the "To" field!).

The top window on the right, the "CallingMe" list, shows callsigns, their grids, current elevation, and most importantly, the time until each stations looses view of the satellite ("LOS", Loss Of Signal). If a station calls you, the callsign of that station will be added to this list. When you at some point, right-click on that line and selects "Log callsign xxxx", this line will be removed from the list. If the station at some point calls you again, it will NOT be added to the list again,as you already have logged it. When you press "Clear list" above the "CallingMe" list, the knowledge of the calling stations will be cleared. This list is sorted so that the station(s) calling you with the shortest time to LOS will be placed at the top always. This enables you to work stations more efficient if you are a rare DXCC, a roving station etc. In this window, you can select multiple callsigns.

If more than one line is selected, and you press one of the "macro" buttons (F1..F10), the specific message will be sent to all the callsigns selected. The messages are either sent as individual messages, or as a single message with multiple callsigns. The choice between the two transmission types is done in "Settings" menu, checkbox named "Multiple callsigns in single message". You can also delete line(s) from the list if you need to, select the lines to delete and press DEL. Stations that uses the Greencube Terminal program will be shown in bold (this means that these station will be able to receive messages with multiple callsigns in the "To" field!).

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, number of stations in the Dupelist that uses the Greencube Terminal program 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. Lines in bold shows that the stations uses this Terminal program.

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 all 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. Any 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 ADIF file / 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 (if using ACLog), 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 easy 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.


if you want the notification of "not worked callsign" and "not worked grid", you can export an ADIF file from your logging program (you just need to do thisone time ever), set that ADIF file in Settings menu of Terminal, and enable the "Search ADIF for callsign/grid" and at the same time also enable "Enable Logging to ADIF file", the you will get notifications and all callsigns you log from within Terminal will be sent to Log4OM (or any other log program chosen) and also be saved in the ADIF file. That way the check for initials/new grids will function even though there is no check using Log4OM.

This goes for many other logging programs.

If you use ACLog or TCP Log (specifically Cloudlog) you can let the Terminal "ask" the logging program for initials/grids instead of using the ADIF file for this.


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 if you use ACLog as your logging program!

Current version: 

2023-05-24 Greencube Terminal program (Windows), Version


Older versions:

Release notes:

20230524 Version

  • NOTICE: Please note that the "local time" shown for callsigns introduced in is a "best efford" only, it uses timezone information from the DXCC list from AD1C
  • Bug fixed: if first message from a station was without grid in the message, and a second message from that station was received with a grid not worked before, the callsign would be painted in "Grid" color correctly. However, the voice message for "new grid detected" was not played!
  • All grids that are logged are truncated to 4 characters (Thanks W5CBF)
  • Support for the "to-be-launched" CubeBel-2 satellite (4.8Kbaud to Sat/9.6KBaud from Sat)! (requires different Soundmodem/setup from IO-117). More info to follow.

20230518 Version

  • Added new setting, "Add satname and grid to log", enabling this will add COMMENT to ADIF/TCP/UDP log in the form: <COMMENT:22>IO-117 SAT from JO45ts. The "IO-117" ("Satname for ADIF") and "JO45ts" ("Grid") is taken from Settings window. (Thanks DK9JC)
  • Added DXCC info for callsigns entered into the "To" field at top of screen and when a line is selected in either Traffic, CallingMe or the Dupelist (Thanks W6RLR)
  • Added local time to DXCC info line (Thanks KG0D)
  • Fixed a bug, random text from message could be interpreted as grid and shown in Dupelist/CallingMe as grids (when specific settings were used)
  • Fixed a nasty BUG, DL/PA3GAN/P would be all messed up (because of the two "/P" in the callsign). Now fixed (thanks IK3ITB)

20230509 Version

  • Added the possibility (menuitem) to change font and size for the Dupelist and CallingMe windows (thanks DL5FCW)
  • Note for Log4OM users: Regarding "Satellite mode", the table "satellite-mode" is preconfigured with mode UV VU UU VV etc. Changing it to U/U U/V V/V etc. it will also work with Terminal (Thanks IK1SLD)

20230506 Version

  • Minor enhancements/bug fixes

20230504 Version

  • In Dupelist and CallingMe windows the line will be shown in bold if the station is using this program! This means the station can receive messages sent to multiple callsigns in one single message correctly.
    (this is also possible for UZ7HI Client program from version 0.27 and forward, but this can not be detected by Terminal)

20230430 Version

  • Fixed a bug in save settings if voice not available to program (Thanks 2E0EBM)
  • Added "Stay on top" funtion (checkbox on mainscreen just above "Traffic" window. Terminal will stay on top of other windows if enabled

20230419 Version

  • Changed "UU" in SAT_MODE to "U/U" (Thanks BA1PK)
  • Fixed error in CallingMe list for stations that called without a grid in their first message received by Terminal

20230418 Version

  • Fixed error in handling Grid extraction for stations in Dupelist.

20230418 Version

  • NOTE: If you experience problems with voice announcements, starting the Terminal in Administrator mode might help
  • The windows can now be resized freely! Grab the splitter between the windows and drag around.
  • Added support for sending messages to multiple callsigns. Multi select calls in the CallingMe list (top right) and press a macro key, message is sent to all callsigns selected. 

  • If multiple callsigns in "To" field, pressing F12 will log all callsigns present in "To" field
  • If callsign(s) are present in the "CallingMe" list, pressing ALT + T will pick the callsign from the top and transfer it to the "To" field (Thanks 2M0SQL)
  • New setting, "Multiple callsigns in single message", if multiple callsigns are entered in the To field, or selected in the CallingMe list and this is enabled, one single message with all callsigns will be sent
  • Support for logging multiple callsigns selected in the "CallingMe" list. Just mark the callsigns, rightclick and select "Log callsigns"
  • When logging to ADIF file, TCP or UDP (except if WSJT mode enabled) logger, MyCall will be set to ADIF field STATION_CALLSIGN (thanks DK9JC)
  • In ADIF file when logging a contact, SAT_MODE is set to "UU" (Thanks VA7TF)
  • Added "/" to list of characters ignored when searching for grids in messages (f.ex: "PM85MI/599/OP:Roy")
  • When using "right click" menu and "Send callsign to ACLog", the entryfields was not completely cleared. This is fixed (Thanks N7BT)
  • Added MY_GRIDSQUARE and STATION_CALLSIGN to TCP, UDP (except if WSJT mode enabled) and ADIF logging
  • Added support for WSJT format in UDP logging, enable WSJT mode in Settings (Thanks G0ABI)
  • The "right click" menuitems for adding callsign to COSI and/or Ignore list are now dynamic. The will change to "Remove" if callsign already in the list, if not in list, menuitem will be "Add" instead
  • Added menuitem "Export contents of Dupelist to CSV file". This saves the callsigns and grids from the Dupelist to a CSV file (Thanks LB2TG)

20230409 Version

  • If upgrading from a version BEFORE, please notice the need for going thru the settings window again, some settings has changed!
  • Fixed font issue in Traffic window (Thanks 2M0SQL)
  • If a message is received to MyCall and the sender is in ignorelist and "Exclude callsigns in ignorelist" is checked in Settings, message is shown regardless (Thanks IK3ITB)
  • Added possibility for each of the logging options (ADIF, TCP or UDP log) to add ANT_AZ, ANT_EL, DX_ANT_AZ and DX_ANT_EL fields to ADIF records (ACLog always gets these fields) (Thanks DK9JC)

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