Back to Portfolio
In Progress

2025 – Present

CubeSat ADCS — BruinSpace

Leading design and development of the Attitude Determination and Control System for UCLA BruinSpace's satellite. Built the ADCS test setup to validate sensors, actuators, and control algorithms, and coordinating integration across electronics and structures subsystems.

ADCSControl SystemsSensorsEmbeddedSatellite
01

The Problem

BruinSpace is developing a CubeSat with a mission that requires precise attitude control in orbit. Without a functional ADCS, the satellite cannot point its payload, maintain a stable communication link, or meet mission objectives. The challenge is designing a system that is small enough to fit within CubeSat volume constraints, power-efficient enough to run continuously on a small solar array, and reliable enough to operate autonomously in the harsh environment of low Earth orbit.

The ADCS must handle detumbling after deployment, transition to a stable pointing mode, and interface cleanly with the avionics and structures subsystems — all with limited heritage and a student team.

02

Goals

01

Design a 3-axis Attitude Determination and Control System for a CubeSat within volume and power constraints

02

Select and integrate sensors (magnetometers, sun sensors, gyroscopes) and actuators (magnetorquers, reaction wheels)

03

Develop and simulate detumbling and pointing control algorithms

04

Build a hardware-in-the-loop test setup to validate sensors, actuators, and control logic

05

Coordinate ADCS integration with the electronics and structures subsystems

03

My Role

As ADCS Lead, I drive the full technical development of the attitude system — from architecture decisions down to hardware testing. I made the sensor and actuator selection trade-offs, weighing performance against mass, power, and cost constraints typical of a CubeSat program.

I developed and assembled the ADCS test bench, which allows us to validate sensors and actuators in the lab before flight. I wrote the control algorithms and simulation framework to verify detumbling and pointing performance before moving to hardware. I also coordinate directly with the electronics team on PCB interfaces and with structures on mechanical mounting.

04

The Process

1

Requirements & Architecture Trade Study

Defined ADCS requirements from the mission pointing budget. Performed trade studies on sensor and actuator architectures — comparing magnetometer-only versus multi-sensor fusion, and passive magnetic stabilization versus active three-axis control. Selected a three-axis active ADCS with magnetorquers and a reaction wheel.

2

Sensor & Actuator Selection

Selected magnetometers, sun sensors, and a MEMS gyroscope for attitude determination. Sized the magnetorquers for the required detumbling torque at the target orbit altitude. Designed the sensor placement to minimize magnetic interference from other subsystems.

3

Control Algorithm Development

Implemented a B-dot detumbling controller and a PD pointing controller in Python. Built a simulation environment with orbital dynamics and geomagnetic field models to validate control performance across the orbit. Tuned controller gains to meet settling time and pointing accuracy requirements.

4

Test Setup Assembly & Validation

Assembled a hardware-in-the-loop test bench to validate sensors, actuators, and the flight software stack. Built a Helmholtz cage to simulate the Earth's magnetic field for magnetometer calibration and magnetorquer testing.

05

Outcome & Results

The ADCS test setup is assembled and sensor validation testing is underway. The detumbling and pointing algorithms have been validated in simulation and are being tested on hardware. Subsystem integration with the electronics and structures teams is progressing in parallel.

The system represents one of the most technically complex subsystems on the satellite, and the work is building a strong foundation for BruinSpace's next mission.

Back to all projects