CubeSat ADCS requirements are driven by tight power/mass budgets yet mission success depends on reliable detumbling and pointing. We are building a magnetorquer-only ADCS and avionics stack for a 2U CubeSat that uses multi-mode control (B-dot detumble, spin stabilization, and inertial pointing) and FreeRTOS-based flight software on STM32, validated via hardware-in-the-loop simulation.
We use a multi-mode control architecture. First, a B-dot detumble law reduces angular rates using magnetorquer coils aligned to body axes. After the CubeSat is stabilized, a quaternion-based PID controller commands magnetic dipole moments that map through the coil allocation matrix into coil currents under actuator limits. Firmware handles sensor drivers, telemetry logging, and watchdogs; a Python-based HITL simulation (Earth magnetic field model + rigid-body dynamics) feeds sensor-like data to the controller to close the loop and verify stability and performance before integration.
We delivered a flight-software stack on STM32 with sensor drivers, telemetry logging, and watchdog reset routines.
The hardware-in-the-loop simulation showed stable B-dot detumbling and quaternion attitude control within actuator limits, while maintaining stability under sensor noise and timing jitter.
We defined a telemetry schema and visualization tools for post-processing logs (plots, power/thermal tracking) and integrated firmware + simulation to enable rapid iteration.
Remaining work includes magnetorquer hardware integration and improving attitude estimation with more realistic sensor calibration and bias modeling.
