AI Writes the Satellite Mission. The Validation System Decides If It's Safe.
What happens when you ask an AI to write code that will eventually control a piece of hardware? For Damon Rocha, a master's student in Computer Science at Georgia Tech specializing in robotics and computer architecture, the answer is: don't let the AI be in charge.
His Hack Your Summer project, COR-SAT, starts with a deceptively simple idea: what if you could tell a satellite payload what to do in plain English, and the system figured out the rest?
The "rest" is a lot! When you type a mission request into COR-SAT, say, "capture seven images at three-second intervals and send a heartbeat before every capture," the system converts that request into typed requirements, generates Python mission code using a local language model, and runs the result through a seven-step validation pipeline before it ever reaches hardware. The pipeline checks syntax, verifies that the generated code only imports what it is allowed to import, runs the mission against a fake SDK (software development kit) to simulate execution, checks timing and heartbeat behavior, and validates the final package against the runner schema. If the first generated candidate fails, a more robust generator tries again. If both candidates fail, the system attempts one repair. Only after passing every check does a mission become a package that can be deployed.
The design choice that makes this work is intentional and worth stating plainly: the language model generates text, but it never writes project files. Every actual write, packaging decision, and hardware interaction goes through a deterministic controller that validates rather than trusts. That separation matters when you're deploying to a Raspberry Pi-based satellite payload.
Alongside the software, Damon built out the hardware. He set up a Raspberry Pi and cameras, wrote a Rust hardware abstraction layer and mission runner, and designed an infrared communications system. The camera payload, timed capture and heartbeat missions, shutdown handling, and sparse optical flow are now working. Mission supervision and logs run on Linux and Raspberry Pi OS.
Damon testing a light-based communication system.
Other pieces are still in development. The infrared communications hardware has reached the breadboard and KiCad prototype stage, with a PCB layout, schematic, and STEP models in place, but the communications link is not yet part of the mission API. IMU and actuator support are also still to come.
The result is a system that makes a deceptively complicated question tangible: how do you use AI to generate executable code for a safety-constrained embedded system without letting the AI control the parts that actually matter?
COR-SAT's answer is to put the language model inside a much stricter system. The model can propose code. The deterministic controller decides whether that code meets the requirements, passes the checks, becomes a deployable package, and gets anywhere near the hardware. It's an architecture that has applications well beyond satellites, anywhere AI-generated code needs to operate within hard constraints.
Damon is now pushing the idea beyond the original CubeSat-style prototype. He's building a custom version of TARS-AI, an open-source recreation of the TARS robot from the film Interstellar that combines a Raspberry Pi, cameras, AI, and servo-driven movement. The physical build is nearing completion, with the torso and arm mechanisms assembled and the remaining structural parts being printed.
TARS robot with internal components disassembled.
Updated TARS UI testing application.
Full TARS v1 build running the custom TARS operating system.
Once TARS is ready, Damon plans to adapt COR-SAT's modular mission software and onboard AI to run on the robot. That will give him a physical platform for testing whether the same approach to autonomous mission planning, computer vision, hardware control, and fault-tolerant software can transfer from a simulated small-satellite environment into robotics.
For a project that started with a question about talking to a satellite in plain English, that's a pretty ambitious next step.
Check out COR-SAT yourself (and follow along with future updates) at https://github.com/dmarcr1997/COR-SAT, along with Damon’s forked version of the TARS Project here https://github.com/dmarcr1997/TARS95.