Skip to content

Sending commands to the board

This guide explains how to connect to the OBC board CLI through WSL2 or Linux using the Ground Station CLI.


If this is your first time setting this up, jump to First-Time Setup first.

1. Activate the Python Virtual Environment

Section titled “1. Activate the Python Virtual Environment”

Follow the repository setup instructions and ensure the Python virtual environment is activated.


Connect the OBC board (Launchpad, Revisions, etc.) to your laptop through USB.


Ensure the board is flashed with:

  • main, or
  • another branch where app_main.c starts the task scheduler and communication FreeRTOS tasks.

This can be flashed using TI UniFlash.


4. Forward the USB Device to WSL2 (WSL2 Only)

Section titled “4. Forward the USB Device to WSL2 (WSL2 Only)”

Skip this section if you are booting directly into Linux.

  • Ensure PuTTY or any other serial monitor is closed.
  • Only one process can access a serial port at a time.

Run:

Terminal window
usbipd list

Look for the XDS110 device and note the BUSID.

Example:

BUSID DEVICE
5-2 Texas Instruments XDS110

Run:

Terminal window
usbipd attach --wsl --busid 5-2

Replace 5-2 with your actual BUSID.

You must repeat this step every time you unplug and reconnect the USB device.


Inside WSL2, run:

Terminal window
cd /dev
ls

Look for either:

  • ttyUSB0
  • ttyACM0

If multiple exist, try each one.


Navigate to the root of the orbital repository with the CLI, and run:

Terminal window
python -m gs.backend.gs_cli.ground_station_cli /dev/ttyUSB0

Or:

Terminal window
python -m gs.backend.gs_cli.ground_station_cli /dev/ttyACM0

As of May 11, 2026, the module path is:

gs.backend.gs_cli.ground_station_cli

If the CLI does not open:

  • Try other /dev/ttyUSB* or /dev/ttyACM* devices.
  • Verify the board is outputting logs using PuTTY on Windows.
  • Re-attach the USB device with usbipd attach.
  • Ask a lead for assistance if nothing works.

If using WSL2, Windows does not automatically expose USB devices to WSL.

Install usbipd:


  1. Open Services on Windows.
  2. Scroll alphabetically until you find:
USBIP Device Host (or something similar)
  1. Ensure the service is running.

This only needs to be done once per USB device.

Open PowerShell as Administrator.

First, find the BUSID:

Terminal window
usbipd list

Then bind the device:

Terminal window
usbipd bind --busid 5-2

Replace 5-2 with your BUSID.

After binding once, future reconnects only require:

Terminal window
usbipd attach --wsl --busid {YOUR-BUSID}

Now that usbipd is set up, go back and complete the steps.


  • This workflow replaces using PuTTY for UART logging. It also allows you to send commands to the board and see responses.
  • The Ground Station CLI communicates directly over the forwarded USB serial port using UART.
  • If you are using native Linux instead of WSL2, no usbipd setup is required.