AYUSH~KADALI DOC AK-2026 · REV A
← project index

POEM-4 Payload Firmware

FLOWN

Attitude-determination firmware on our student payload, flown on the POEM-4 platform aboard ISRO's PSLV-C60 (Dec 30, 2024). STM32H7, FreeRTOS, 0.91 attitude correlation in orbit-representative testing.

STM32H7 · FreeRTOS · Embedded C · Sensor Fusion · RS-485 · I2C · EMI/EMC · TVAC

0.91 attitude correlation
Dec 30, 2024 launch date
flight unit render against the orbital environment
flight unit render against the orbital environmentRENDER

Context

Our student group at MIT-WPU built a payload that was hosted on POEM-4 — the orbital platform ISRO operates on the spent fourth stage of the PSLV. It launched aboard PSLV-C60 on December 30, 2024. I wrote the attitude-determination firmware that flew on it.

What I built

The firmware runs on an STM32H7 (ARM Cortex-M7) under FreeRTOS. The core is a deterministic state machine that fuses data from a MEMS IMU to estimate the payload’s attitude under hard real-time deadlines.

Around that core sits an interrupt-driven multi-protocol communication stack: UART for telemetry downlink, I2C for the sensor bus, and RS-485 for inter-board communication. All peripheral access is register-level, with volatile-safe concurrency between ISRs and tasks — the kind of code where a missing memory barrier shows up as a corrupted packet three layers up.

We worked directly from ISRO interface control documents and component datasheets. When the ICD says a line must behave a certain way at handover, there is no negotiating with it; the firmware conforms or the payload doesn’t fly.

Validation

Flight firmware doesn’t get a second chance, so validation was most of the work. I built Python tooling that simulated orbital conditions and replayed sensor data through the attitude pipeline before the hardware ever saw a test chamber. The attitude-determination stack reached 0.91 correlation against reference data.

The payload then went through the full space-qualification campaign: EMI/EMC, vibration, thermal-vacuum, and shock testing. Each campaign fed defects back into the firmware and the test scripts.

Result

The payload launched on December 30, 2024 and operated on the POEM-4 platform in low-Earth orbit. That firmware is my flight heritage: code I wrote, qualified, and argued over line by line, running in space.