Logo
Published on

SAGE MCS: Multi-Mission Control Software for the SAGE CubeSat Mission

Authors
  • avatar
    Name
    Andrin Benz
    Twitter

This post shares my experience working on SAGE MCS, the mission control software for the SAGE CubeSat mission, a student-led initiative under ARIS (Academic Space Initiative Switzerland)1. The project was developed collaboratively with Sebastian Oes, Benjamin Herda, and myself, and presented at the SpaceCHI 2025 conference at ESA’s European Astronaut Centre.

🚀 What Is the SAGE Mission?

SAGE is a 3U CubeSat—roughly the size of a loaf of bread—planned for launch in 2026 into a sun-synchronous low Earth orbit. Developed by students from ARIS, its goals are ambitious:

  • 🧪 Host the first human cell cultures in space to study cell ageing in microgravity.
  • 🛰️ Test a custom RISC-V space-grade ASIC developed at ETH Zurich.
  • 📡 Provide amateur radio and GNSS services.

🧠 Why We Built SAGE MCS

Operating a CubeSat is hard. Operating several of them—or doing it as a student team with frequent turnover—is even harder.

That’s where SAGE MCS (Mission Control Software) comes in. It’s a multi-mission software system built to handle telemetry, command scheduling, simulation, and dashboard visualisation—all from a web-based interface.

Our goals:

  • Abstract complexity (radio protocols, satellite buses, etc.)
  • Enable safe job scheduling
  • Be scalable for future ARIS missions
  • Remain approachable for student operators

🛠️ Key Features

sage-moc-overview

📡 Multi-Ground-Station Support

SAGE MCS handles input from ground stations in multiple countries, syncing telemetry to a unified cloud backend.

  • Deduplication of redundant telemetry packets
  • 🔒 Secure uplinks with job verification to prevent invalid commands

🛰️ Simulation & Digital Twin

To avoid “breaking the satellite,” the software simulates jobs before they are sent:

  • ✅ Verifies commands against power/thermal/attitude constraints
  • 🔁 Simulates outcomes based on real satellite configs
  • 📊 Estimates resource consumption (power, memory, time)

This is vital in a student environment where commands can be risky and time to review is short.

📊 Modular Dashboards

Operators see a mission dashboard tailored to their role—be it payload, comms, or thermal.

sage-moc-dashboard

Each dashboard includes:

  • Realtime telemetry cards (battery voltage, payload health, actuator states)
  • Alerts & anomaly reports
  • Zulu time & mission time counters
  • Sensor search & profile switching

All dashboards follow Material Design guidelines for familiarity and cross-device support.


⚙️ Technology Stack

LayerStack
BackendNode.js, TypeScript, Express, Drizzle ORM
FrontendReact, Next.js, Material UI, Three.js, Leaflet
SimulationCustom digital twin for job verification
CI/CDGitHub Actions, automated tests, linting
MonitoringPrometheus, Grafana, Iris alerting

🧪 Evaluation & Lessons Learned

We ran usability workshops with the ARIS teams (payload, OBC, MOPS) and gathered continuous feedback in weekly review loops. We also visited GSOC (German Space Operations Center) for expert validation.

Key takeaways:

  • Role-specific dashboards reduce overload and improve focus.
  • Digital twin simulations help catch problems before they reach the satellite.
  • Redundancy (in data sources and logs) is critical for student-run ops.

🌍 Impact & Outlook

Working on SAGE MCS gave me real-world experience in mission-critical software design—from simulating commands to structuring telemetry ingestion pipelines.

Our system is already planned to serve future CubeSat missions at ARIS, and it could be extended to:

  • Ground robots & drones
  • Other educational nanosatellite programs
  • Autonomous experiment platforms

We're incredibly excited for launch in 2026, and I’m proud we could present our work to the broader space & HCI community at SpaceCHI.

📄 Read the full research paper: Best Practices in CubeSat Control Software Development – A Case Study of the SAGE Mission

Footnotes

  1. https://aris-space.ch/