Inspiration
Space missions depend on reliable ground segment systems to receive, process, store, and visualize satellite data. However, these systems are usually complex, expensive, and inaccessible for students and small satellite teams.
As part of Space Dogs, an aerospace research organization focused on CubeSats, rockets, and space technology, we wanted to create an open and modular mission control platform that could serve as a learning environment and a foundation for future real satellite operations.
What it does
Mission Control Ground Segment Platform (MCGS) simulates a CubeSat mission operations environment.
The platform generates satellite telemetry data, receives it through a FastAPI REST API, validates and processes the information, stores historical telemetry using SQLite and SQLAlchemy, and provides real-time telemetry broadcasting through WebSockets.
The current MVP demonstrates the core communication pipeline of a ground segment:
Telemetry Simulator → Mission Control Server → Database → Real-Time Operators
How we built it
We built MCGS using a modular backend architecture designed for future expansion.
The backend was developed with Python and FastAPI, using:
- SQLAlchemy as the ORM layer
- SQLite for telemetry persistence
- Pydantic for data validation
- WebSockets for real-time communication
- Uvicorn as the application server
The project structure separates database models, API routers, schemas, services, WebSocket handling, and simulation tools to maintain clean separation of responsibilities.
A telemetry simulator generates CubeSat parameters such as battery level, temperature, signal strength, CPU load, and subsystem status. The simulator sends this data to the backend, where it is stored and broadcast to connected clients.
Challenges we ran into
One of the main challenges was designing a software architecture that could represent real mission operations while remaining achievable during a hackathon timeframe.
We had to balance speed with maintainability by creating a modular system instead of a single script. Implementing database persistence, asynchronous WebSocket communication, and API integration required understanding how different components of a ground segment interact.
Another challenge was designing the project so it could evolve from simulation into future hardware integration.
Accomplishments that we're proud of
We successfully created a functional mission control software foundation with:
- A working CubeSat telemetry simulator
- A FastAPI telemetry ingestion API
- Persistent telemetry storage using SQLite
- SQLAlchemy database modeling
- Real-time telemetry communication using WebSockets
- A scalable project architecture prepared for future mission operations features
The project demonstrates the core software pipeline behind a satellite ground segment.
What we learned
We learned how to design distributed systems where multiple components communicate reliably.
This project improved our understanding of:
- Backend architecture design
- REST API development
- Database abstraction with ORM systems
- Real-time communication using WebSockets
- Structuring software projects for long-term aerospace applications
We also learned that mission control software requires strong foundations in data flow, reliability, and modularity before adding advanced features.
What's next for Mission Control Ground Segment Platform
The next steps are focused on expanding MCGS into a more complete mission operations platform.
Future improvements include:
- Mission dashboard development
- Telemetry analytics and visualization
- AI-assisted anomaly detection
- Satellite command simulation
- Multi-satellite support
- User authentication and mission roles
- Integration with real hardware systems such as SDR-based ground stations
MCGS is intended to become an open-source foundation for educational and experimental satellite missions.
Built With
- aerospace
- api
- architecture
- backend
- css
- cubesat
- database
- development
- fastapi
- git
- github
- html
- javascript
- open
- pydantic
- python
- rest
- software
- source
- space
- sqlalchemy
- sqlite
- systems
- uvicorn
- websockets
Log in or sign up for Devpost to join the conversation.