UTSTAR builds flight vehicles, a research rocket program and a VTOL program, and avionics is the nervous system of both. My work sits on the embedded side: firmware that reads a suite of sensors, fuses and packages that data, and streams it to ground systems in real time.
The heart of it is the multi-sensor telemetry pipeline. Every sensor speaks its own protocol, at its own rate, with its own noise, and the job is turning that asynchronous mess into one coherent, timestamped picture: sampled reliably, filtered sensibly, serialized efficiently, and pushed over a bandwidth-limited radio link without losing the data that matters. So you think hard about packet structure, about priority (during ascent, altitude beats battery temperature), and about degrading gracefully when a sensor drops out mid-flight.
Embedded development is its own discipline. Memory is measured in kilobytes. Timing is a correctness requirement rather than a performance nicety, because a late sensor read isn’t slow, it’s wrong. Debugging happens over a serial cable when you’re lucky and in post-flight log forensics when you’re not. So I write defensively now: watchdogs, sanity bounds on sensor values, and logging designed for reconstructing what happened after the fact, because there is no breakpoint at 3,000 feet.
The team side has taught me as much as the code. Avionics touches every other subsystem. Structures decides where our boards fit, propulsion decides what we monitor, and recovery depends on our altitude events firing at the right moment. Interface documents, design reviews, and integration testing aren’t bureaucracy. They’re the reason a machine built by dozens of students actually flies.
