Sending commands to the board
Connecting to the OBC CLI Through WSL2
Section titled “Connecting to the OBC CLI Through WSL2”This guide explains how to connect to the OBC board CLI through WSL2 or Linux using the Ground Station CLI.
Quick Reference (Steps Needed Every Time)
Section titled “Quick Reference (Steps Needed Every Time)”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.
2. Connect the OBC Board
Section titled “2. Connect the OBC Board”Connect the OBC board (Launchpad, Revisions, etc.) to your laptop through USB.
3. Ensure Firmware is Flashed
Section titled “3. Ensure Firmware is Flashed”Ensure the board is flashed with:
main, or- another branch where
app_main.cstarts 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.
Important Notes
Section titled “Important Notes”- Ensure PuTTY or any other serial monitor is closed.
- Only one process can access a serial port at a time.
Open PowerShell as Administrator
Section titled “Open PowerShell as Administrator”Run:
usbipd listLook for the XDS110 device and note the BUSID.
Example:
BUSID DEVICE5-2 Texas Instruments XDS110Attach the USB Device to WSL2
Section titled “Attach the USB Device to WSL2”Run:
usbipd attach --wsl --busid 5-2Replace 5-2 with your actual BUSID.
You must repeat this step every time you unplug and reconnect the USB device.
5. Find the Linux Serial Port
Section titled “5. Find the Linux Serial Port”Inside WSL2, run:
cd /devlsLook for either:
ttyUSB0ttyACM0
If multiple exist, try each one.
6. Launch the Ground Station CLI
Section titled “6. Launch the Ground Station CLI”Navigate to the root of the orbital repository with the CLI, and run:
python -m gs.backend.gs_cli.ground_station_cli /dev/ttyUSB0Or:
python -m gs.backend.gs_cli.ground_station_cli /dev/ttyACM0As of May 11, 2026, the module path is:
gs.backend.gs_cli.ground_station_cli7. Troubleshooting
Section titled “7. Troubleshooting”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.
First-Time Setup
Section titled “First-Time Setup”Install usbipd
Section titled “Install usbipd”If using WSL2, Windows does not automatically expose USB devices to WSL.
Install usbipd:
- Official installation guide: https://learn.microsoft.com/en-us/windows/wsl/connect-usb#install-usbipd-on-wsl
Verify usbipd is Running
Section titled “Verify usbipd is Running”- Open Services on Windows.
- Scroll alphabetically until you find:
USBIP Device Host (or something similar)- Ensure the service is running.
Initial USB Binding
Section titled “Initial USB Binding”This only needs to be done once per USB device.
Open PowerShell as Administrator.
First, find the BUSID:
usbipd listThen bind the device:
usbipd bind --busid 5-2Replace 5-2 with your BUSID.
After binding once, future reconnects only require:
usbipd attach --wsl --busid {YOUR-BUSID}Now that usbipd is set up, go back and complete the steps.
Additional Notes
Section titled “Additional Notes”- 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
usbipdsetup is required.