Project brief
Complete Attitude Determination and Control System for a 6U CubeSat scientific Earth observation mission. The ADCS combines a star tracker, magnetometer, sun sensor, and rate gyro for attitude determination, and uses three reaction wheels plus three magnetorquers for control, achieving 0.1° pointing accuracy (3σ) needed for the onboard narrow-angle camera. System was developed per ECSS-E-ST-60-30C standard.
The case study links sensor fusion, spacecraft control, and safe-mode logic. The architecture is an explanation of the described functions.
The engineering challenge
Estimate spacecraft orientation and coordinate actuators with different momentum-management roles.
Engineering approach
- Fuse star, magnetic, solar, and angular-rate observations.
- Use quaternion attitude error to drive the pointing controller.
- Separate wheel control, momentum desaturation, and fault-mode management.
Features & capabilities
- 0.1° (3σ) pointing accuracy — sufficient for Earth observation camera
- Star tracker (centroid algorithm, 64×64 CMOS) with 2500-star catalog
- 10Hz magnetometer (HMC5983) + sun sensor array (8 heads)
- Three reaction wheels (±30mNm, ±5000 RPM) + 3 air-core magnetorquers
- Quaternion-based attitude representation and PD controller
- Desaturation maneuver logic for wheel momentum management
- ECSS-E-ST-60-30C Attitude and Orbit Control standard compliance
- Fault detection and isolation (FDI) with safe mode fallback
Software & engineering tools
ARM Cortex-M7, FreeRTOS, C++17, EPS interfacing via I2C, CAN Bus, Space-grade tantalum capacitors, custom 4-layer PCB
