Skip to content

Telemetry Overview

BL-CZY edited this page Aug 29, 2026 · 2 revisions

Definition: the process of recording and transmitting the readings of an instrument.

Telemetry is responsible for three main things:

  1. Transmitting data from the pod to the base station (e.g. sensor data)
  2. Visualising this data in our GUI
  3. Sending control messages to the pod from our GUI

We also have a public app: a simple React web app which displays basic pod data (e.g. displacement, velocity, levitation height, etc. but not more complex data like pressure or error reporting) for use by the public during a pod run.

Data transmission

Telemetry Rockets

We use Ubiquiti Rocket M2s to transmit data from the pod to the base station over the 2.4GHz band. 

MQTT

Internally, the pod uses MQTT to transmit messages between the various software components and controllers. This includes state transmission messages, sensor data and control messages. The Telemetry server subscribes to these messages, processes them, and displays this data on the GUI. See here for MQTT documentation.

The GUI

The Telemetry GUI is

  • OpenMCT
  • React

Build System

The source of the Telemetry system is found under telemetry/, which contains different components of Telemetry. We use TurboRepo and PNPM on the top level.

All turbo tasks are defined in turbo.json, and the configuration for PNPM is in package.json and pnpm-workspace.yaml. The field packageManager in package.json is set to pnpm@9.5.0 for TurboRepo to pick up, and we define everything under package/ as different components of Telemetry in pnpm-workspace.yaml

To run

./telemetry.sh dev -b -m

Clone this wiki locally