Major Tom Architecture
Major Tom is a cloud-native application, leveraging the best off the shelf solutions. Rather than a single monolithic application, Major Tom is a modular, dynamic and customizable collection of microservices integrated together to operate satellites and other devices that operate in harsh, remote or hard-to-access areas.
3 Main Components of Major Tom
Satellites, Ground Stations, and other External Systems
Major Tom can interface with just about anything.
Satellites are essentially remotely operated computers
Ground station network
Simulated satellites for testing and planning
Kitchen Sink (Everything Else)
Major Tom has talked to flatsats, web servers, raspberry pi computers, and even cellphones
All satellites within Major Tom have an independent satellite database for formatting commands and telemetry to be compatible with the satellite’s flight software. Command definitions are uploaded into Major Tom through a JSON file. This JSON file can be uploaded into Major Tom through two methods.
- The first method is through a manual upload process within the user interface, similar to uploading a file to any web application.
- The second method is through a Gateway, where a user can automate uploading the file to Major Tom. This method can be beneficial in a development and testing environment where new commands are being created frequently.
Major Tom API
We leverage web standard APIs to allow customers to integrate Major Tom with existing ground infrastructure
Gateways are WebSocket Application Programming Interfaces (APIs) establishing two-way data connections, allowing Major Tom to both ingress data from external sources and sending data to external sources with a single Gateway. By utilizing the WebSocket standard, Major Tom can integrate with almost any system used in your operations.
Additionally, Gateways allow Major Tom to abstract away the different protocols and configurations of satellites and ground stations, creating a uniform user interface and user experience.
Major Tom’s Scripting API allows users full access to Major Tom’s telemetry and command features. Scripting enables users to build custom automation for Major Tom, removing the need for operators to be present 24 hours a day. Developers can use any programming language to develop scripts, with the most prominent being Python.
Where the Gateways APIs are the data connections, the Scripting API is the logic of Major Tom. Scripting is hosted externally from Major Tom, and through the API, can pull data out of Major Tom, perform a function, and then send data or commands back into Major Tom. The Scripting API allows Major Tom to perform actions without a human in the loop. The Scripting API is the foundation of user-defined automation.
Major Tom uses GraphQL as the API querying language for Major Tom. To assist software engineers with developing scripting, Kubos has embedded the GraphQL development sandbox into Major Tom. The sandbox provides all the GraphQL documentation and schema so engineering can understand the queries they are developing for their scripts.
A look at what’s under the hood
Operating Satellites Doesn’t Have to Be Hard.
Customers around the world have discovered the benefits of Major Tom.
Sign up today for your free 30-day trial