GreenCube (IO-117) satellite and FT991

GreenCube is aimed at demonstrating an autonomous biological laboratory for plants cultivation on-board a CubeSat platform. The satellite project is managed by the S5Lab research team at Sapienza University of Rome The spacecraft has been launched on 13 July 2022 and it has been deployed in Medium Earth Orbit (MEO) at approximately 6000 km of altitude. GreenCube is carrying microgreens (brassicacae) seeds for the farthest experiment ever of plants cultivation in microgravity. The pressurized vessel is autonomously able to monitor air composition and pressure, humidity, air recirculation, lighting conditions and, ultimately, to optically monitor the plants growth through VIS and IR cameras. The S5Lab team are allowing spacecraft control and communication in two bands (UHF and S-band) between 5800 and 10000 km of slant range, more than 5 times higher than the “usual” slant ranges considered by LEO CubeSat missions. A secondary payload has been developed by the Institute of Space Systems at the University of Stuttgart – PPT (Pulsed Plasma Thruster) motor that will be used as additional attitude control system.

GreenCube telecommunication subsystem has a digipeater functionality available to the radioamateur community. It can operate in real-time mode and in “store & forward” mode and requires an amateur radio station with:
– Windows PC
– Directional antenna (10 dBi at least recommended)
– Audio connection between transceiver and PC.

The frequency is the same used in the telemetry channel (435.310 MHz) and the activation of the digipeater function is scheduled at least every week during the weekends (from Friday at 00:01 UTC to Sunday at 23:59 UTC), with possible extensions. The software needed to communicate with the satellite along with a technical guide of the setup and the GUI features ( is for downloadbig here: . It contains the user manual, Graphical User Interface (GUI), Terminal Node Controller (TNC) software, and GNURadio script to receive and transmit. Alternative software can be found online.

The GreenCube satellite also has the name IO-117, given by AMSAT . The unique feature of the high altitude of the orbit results in a much longer visibility time than in the case of the LEO satellite IO-117, which will enable communication at distances of up to 12,500 km.

The following links contain useful tips and information on how to use the IO-117 digipeater:

Getting my system up and running wasn’t difficult. First, I adapted the SatPc32 program – I downloaded the latest Kepler file (Update Keps) and added a line adapted to FT991 as below in the Doppler.SQF file (which can be found in the menu: ? – Auxiliary Files):


In SatPc32, IO-117 appeared in the SatellitesAvailable window, which after double clicking was placed in the “Selected” column. It allowed tracking this satellite by the antenna system and the TRX Doppler correction.


To determine the tracking parameters, I used (as usual) the application Colleagues from the  SP3YOR  rose to the occasion and did not forget about the GreenCube/IO-117 satellite. After selecting the IO-117 in the SatPc32 (or after setting the frequency in the FT991 to 431.100 MHz +/- Doppler), it turned out that the signals from the digipiter are audible almost immediately after the appearance of the satellite above the horizon, even without precise adjustment of the rotary antenna.

After unpacking the file, I read the GreenCube Digipeater Manual v1.1.pdf, which I approached in a creative way. GNU Radio for Windows was required in the system to run. I’ve heard a lot about this app. GNU Radio is a free software development environment for digital signal processing, e.g. SDR implementation. It contains many ready-made modules (blocks) that implement specific algorithms of digital signal processing, e.g. filtering, modulation and demodulation, synchronization, and many others. It is possible to combine these blocks and consequently transfer data from one block to the next in a way that is usually done in a radio transmitter and receiver. GNU Radio allows you to create an application that takes data from one data stream, processes it, and then puts it into another data stream. GR 3.7 Installer (recommended version is available here: .

After installing GNU Radio, I created an additional folder in which I placed the following files extracted from GreenCube_RX_SSB_TX_SSB.grc, DigipeaterTNC.exe and DigipeaterGUI.exe. Next I launched GNURadio Companion by searching its name on the start menu. Load the RX_SSB_TX_SSB o script using File -> Open and then run the script by pressing the “Execute” button in the middle of the toolbar.

Run and close the TNC once (using DigipeaterTNC.exe) to generate the default config.ini file in C:/Users/%USERNAME%/GreenCube/. The TNC receives the constant bit-flow from GNURadio which comes after the GMSK demodulation.

Execute the GUI program by starting the DigipeaterGUI.exe file, then “File – open conf file”. I have selected the appropriate input channels for the FT991 radio:

; AudioCard_RX_DeviceName = Głośniki (6 - USB Audio CODEC)
; AudioCard_RX_SampleRate = 48000
; AudioCard_TX_DeviceName = Mikrofon (6 - USB Audio CODEC)
; AudioCard_TX_SampleRate = 48000

;; Specify whether in LSB or USB (all uppercase)
SSB_Mode = USB

and entered my callsign:

;; Your callsign 
CallFrom = SP5GNI

To control the PTT of the transceiver, the manual recommends using the HamLib library. I decided to make it much simpler and I used VOX FT991. For this purpose, in its MENU item 142 VOX SELECT I changed the setting to DATA.

this purpose, in its MENU item 142 VOX SELECT I changed the setting to DATA.

I closed all files and applications and restarted them in the following order, giving each application time to start: SatPC32 (IO-117, C+, R+) – GNURadio – “Execute” button – DigipeaterTNC – DigipeaterGUI. If digipter packets can be heard in the speaker of the transceiver, then in the window “GreenCube SSB Transceiver” on the waterfall you should see signals as below:


The TRX knob can be used to correct the frequency setting. Theoretically, the decoded texts of individual frames from the digipiter should appear in the window of the GUI graphical interface. Unfortunately, the fact that the signal is received does not mean that it will be decoded correctly. It must be sufficiently “strong” – have a sufficiently high signal-to-noise ratio. For my system, decoding happened when the satellite was quite close. Unfortunately, even when the distance from the satellite was below 7000 km, not all frames were decoded. Need a better antenna…

The first contact was made with ST2NH. Below are screenshots from the GUI window. My QSOs in bold:

[02/12 20:18:01.037] Received: EA3EA>SM0TGU, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:18:06.832] Received: S57NML>OK2UZL, GreenCube, STORE=0 JN76OD
[02/12 20:18:11.528] Received: OK2UZL>ES4RM, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:18:12.631] Received: Beacon 02/12 19:18:09.990
[02/12 20:18:20.532] Received: G0ABI>ALL, GreenCube, STORE=0 CQ IO80bu
[02/12 20:18:28.944] Received: OK2UZL>S57NML, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:18:29.051] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 UR599 KO02li
[02/12 20:18:42.712] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 UR599 KO02li
[02/12 20:18:54.437] Received: IK7EOT>ES4RM, GreenCube, STORE=0 JN80PJ 599 QSL ?
[02/12 20:18:58.136] Received: Alt. Beacon 02/12 19:18:55.384
[02/12 20:19:02.930] Received: IW7DOL>OK2UZL, GreenCube, STORE=0 599 JN90ci QSL?
[02/12 20:19:11.635] Received: ST2NH>SP5GNI, GreenCube, STORE=0 RR 5NN TU
[02/12 20:19:22.027] Received: DL5GAC>CQ, GreenCube, STORE=0 JN47UT
[02/12 20:19:26.036] Received: IK7EOT>ES4RM, GreenCube, STORE=0 TNX QSO 73 TU
[02/12 20:19:27.127] Received: EA3EA>EA3BT, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:19:35.206] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 TNX firs QSO!
[02/12 20:19:35.338] Received: IK7EOT>ES4RM, GreenCube, STORE=0 TNX QSO 73 TU
[02/12 20:19:42.631] Received: Beacon 02/12 19:19:40.012
[02/12 20:19:45.037] Received: OK2UZL>IW7DOL, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:19:46.136] Received: EA3EA>SM0TGU, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:19:55.637] Received: OK2UZL>IW7DOL, GreenCube, STORE=5 599 JN79sa op.Ludek
[02/12 20:20:07.532] Transmitted: SP5GNI>ST2NH, GreenCube, STORE=0 TNX first QSO!
[02/12 20:20:17.033] Received: EA7KI>ALL, GreenCube, STORE=1 CQ CQ EA7KI IM76RR
[02/12 20:20:20.925] Received: EA3EA>ES4RM, GreenCube, STORE=0 UR 599 JN01um QSL?
[02/12 20:20:48.028] Received: IK7EOT>EA7KI, GreenCube, STORE=0 JN80PJ 599 QSL ?
[02/12 20:21:17.934] Received: EA3EA>ES4RM, GreenCube, STORE=0 UR 599 JN01um QSL?

Mirek SP5GNI

Number of Comments: 4

  • Good morning everyone, I need someone to help me configure my FT991A with the satPc32 to work with the greencube or another satellite.
    I hope your help, thank you in advance.
    Eduardo CO8LY

  • Hi Eduardo
    if you have questions pleas drop me an email (look in for address).
    I can send you some config files or screenshots.
    Miro SP5GNI

  • Hello Miro..
    -FT-991A for greencube digipeater you use USB or USB-D ?
    -i am use satpc32 radio n software is conected i heard strong signal 1200bd and i always put line on waterfall but can not decode and no body see my callsign CQ…maybe i am wrong the dopler .can you share me about this..
    Galih De YC2VOC

  • I use USB-D with max width 3 kHz, it is possible to set from FT991 screen menu. SatPC32 for IO-117 Doppler correction, but sometimes I use frequency knob to keep the signal in the middle of the waterfall.

    Honestly I have problems with decoding too, very often you I can hear very well but no decode. I think a lot depends on antenna gain.

    73 Mirek SP5GNI


Leave a Comment

Your email address will not be published. Required fields are marked *