Operating Your CubeSat

Operating a satellite in orbit is no less important than building the spacecraft itself or launching it. A CubeSat operator must receive information from the satellite regarding the platform’s status and payload data, as well as send commands to control subsystems — or even completely update microcontroller firmware. The process of maintaining a spacecraft in orbit can last for decades. 

The primary method of communication between a spacecraft in space and a ground control center is a radio link. Since MySat is an educational prototype, it can also be interacted with via a physical cable or through common household Wi-Fi.

How can you connect to MySat?

Receiving Telemetry from the Satellite

Methods 1 & 2

Connecting to Your CubeSat
If you’ve already updated the ESP32-CAM firmware as described earlier in this guide, you already know how to connect the satellite’s electronics to your PC.

1. Ensure that no jumper is installed on the Boot pins of MySat.
If one is installed, remove it and reset the power using Remove Before Flight

2. Open Arduino IDE on your PC

3. Go to Tools > Port and check which ports are available
Note the port names that appear before you connect MySat to your PC

4. Connect MySat to your PC via USB:

5. In Arduino IDE, select the board AI Thinker ESP32-CAM and the correct serial port
To do this, click on the dropdown menu in the top bar:

In the pop-up window, search for “AI Thinker ESP32-CAM” and select the port that appeared after connecting MySat

6. Open the Serial Monitor
Press Ctrl + Shift + M, or click the Serial Monitor button:

7. Set the baud rate to 115200 bps
Set this parameter in the the top-right corner of the Serial Monitor window:
Sending Commands to the CubeSat
To send a command to the CubeSat, connect to it either via a physical cable or a radio link. Then, use the input field in the Arduino IDE Serial Monitor to type and transmit commands to the satellite:


List of available commands:

*updated for: MySat Firmware release v.1.1 

Reconfiguring the Radio Channel
When launching real satellites, manufacturers are required to go through a strict licensing process and obtain official authorization to use specific radio frequencies — to avoid interference with other spacecraft. Similarly, multiple MySat units operating in close proximity can interfere with each other, since they are configured to use the same frequency by default. 

You may need to reconfigure the radio channel in the following cases:
      – When operating multiple MySat units in the same room or lab environment;
      – When attempting to achieve maximum transmission range (not recommended in typical setups);

Setup instructions: MySat Help (EN)

Establishing Wi-Fi Communication
Method 3 Step 1: Ensure Wi-Fi Coverage (2.4 GHz)
Place both the MySat unit and the device you plan to use to connect with the satellite within the same Wi-Fi network.

The network must meet the following requirements:
     – Operate on the 2.4 GHz frequency band;
     – Not require additional authorization (such as login portals used in public or university networks);
Tip: If there is no suitable network available, you can create a personal hotspot using your smartphone.

Step 2: Connect MySat to the Wi-Fi Network
If you’re using a permanent Wi-Fi network, this step only needs to be performed once. After the initial setup, MySat will automatically reconnect to the last used network upon reboot.
1. To configure Wi-Fi, connect to MySat using USB-to-TTL or a radio module;
2. Send the SetWifi command to enter the Wi-Fi configuration menu.
3. Answer the configuration prompts:

4. If the connection is successful, the telemetry data from MySat will include a line showing the name of the Wi-Fi network and the IP address assigned to your CubeSat:
 
Step 3: Open the MySat Control Panel
1. Connect your device (PC, smartphone, tablet, etc.) to the same Wi-Fi network that MySat is connected to.
2. In your web browser’s address bar, enter the IP address obtained from the telemetry data.
3. Wait for the Control Panel web page for your satellite to load.
Note: Page loading may take up to a minute.
If your device cannot reach the host, try rebooting MySat and reconnecting.
Important: After rebooting, the IP address assigned to the satellite may change.
 

 Step 4  – Working with Satellite Data
 Real-Time Graphs in Arduino IDE 

  1. Send a console command to change the data format:

    SwitchTelemetry

    telemetry format change

  1. Select the satellite subsystem whose data you want to visualize, and send the corresponding number as a command:

    * The output will then switch to semicolon-separated lines:

  2. In Arduino IDE, click the Serial Plotter button:
  3. The Serial Plotter in Arduino IDE visualizes the data:

  4. To change the operating mode, use console commands — enter them in the Serial Monitor:
    Onboard Data Storage

    ❔🛰️

    Communication between a spacecraft and the operator is often unstable and intermittent, so many satellites do not transmit collected data “live.” Instead, they store it in onboard memory and transmit it later upon request from the ground.

    To activate data storage:
    1.1. Send the following console command:1.2. Set the interval between recordings (in seconds) by sending an integer:* ESP32-CAM microcontroller has limited memory. The satellite can store up to 3,600 data sets; after that, recording will stop.

    1.3. Verify in the telemetry packet that logging is ongoing:

    To download the collected data:
    2.1. Open the Flight Control Center (see Step 3)
    2.2. Use the “Mission logs” dropdown menu:

    2.3. Select and download the file with the stored data:
    * The file name indicates the start time of the recording, according to the onboard DS3231 clock.


    2.4. View the downloaded file in Google Sheets(docs.google.com/spreadsheets)
           2.4.1. Create a new blank spreadsheet.
           2.4.2. Import the downloaded log file into the spreadsheet:
                      File  >  Import  >  “Upload”.
           2.4.3. Complete the import by selecting “ Import data ” in the “ Import file ” window:
          Onboard Camera Operation
    Pressing the “Get Photo” button captures an image from the onboard camera and stores it in ESP32`s memory. The numbered buttons let you browse the saved images.
    Up to 10 photos can be stored in total. After that, the new photo will overwrite the oldest one.
    * designed by Freepik

Congratulations! You have explored all the functionality that our team has added to the MySat kit today.

Is that all? Of course not! Follow our updates on GitHub — we regularly release firmware updates (including support for older kit versions!), adding even more exciting “space-grade” features.

 

Or take progress into your own hands — modify the MySat code yourself to match your vision, or write your own sketches in C++ (or even in another programming language) from scratch.

* MySat is an open-source project. We welcome user contributions and improvements — feel free to suggest your own code changes, and we will be happy to review them for possible implementation 🙂