Mission Control Engineer
DanSTAR Rocketry

Mission Control

Mission-control and flight-computer software built around explicit state, validated commands, and acknowledged transitions.

Project evidence

Mission sequence
Built a timeline state machine with validated binary commands and flight-computer-confirmed transitions.
Simulator
Tested state progression, UDP discovery, command handling, and log output with a Python flight-computer simulator.
What is public
Payload validation and repeatable simulator scenarios are described here; private code and flight results are not published.

The problem

Mission-control software has to represent the same operational sequence as the flight system while remaining diagnosable when software and physical interfaces disagree.

System architecture

  • A flowchart-aligned mission state machine with phase-specific Continue, Abort, and Reset logic.
  • A binary command path with strict payload and current-state validation.
  • Queued asynchronous handling and ZeroMQ-oriented messaging between mission-control and flight-computer software.
  • A Python flight-computer simulator covering state progression, command handling, UDP discovery, and log emission.

Engineering decisions

  • Treat flight-computer acknowledgement as the boundary for a confirmed transition.
  • Keep invalid commands from silently changing mission-control state.
  • Make simulator scenarios and emitted logs part of the integration workflow rather than an afterthought.

Testing and verification

  • Hardware-free scenario testing against the flight-computer simulator.
  • Validation rules for payload shape and state-specific command eligibility.
  • Logging and debugging workflows for repeatable integration diagnosis.

Limitations

  • The portfolio describes software architecture and verification practices, not flight results.
  • Repository code and internal integration material are not published here.

What I would improve next

  • Extend scenario coverage around failure recovery and delayed acknowledgements.
  • Keep protocol and state-machine documentation synchronized with implementation changes.