- Published on
SAGE MCS: Multi-Mission Control Software for the SAGE CubeSat Mission
- Authors
- Name
- Andrin Benz
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

📡 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.

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
Layer | Stack |
---|---|
Backend | Node.js, TypeScript, Express, Drizzle ORM |
Frontend | React, Next.js, Material UI, Three.js, Leaflet |
Simulation | Custom digital twin for job verification |
CI/CD | GitHub Actions, automated tests, linting |
Monitoring | Prometheus, 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