Develop and validate a custom ADCS using magnetorquers and an IMU. Implement B-dot detumbling and nadir-pointing algorithms, then compare on-orbit performance to simulation predictions.
Develop and validate a custom ADCS using magnetorquers and an IMU. Implement B-dot detumbling and nadir-pointing algorithms, then compare on-orbit performance to simulation predictions.
This is a intermediate-level project with an estimated timeline of 14-20 months using a 1U form factor.
Every satellite needs to know which way it is pointing, and most need to actively control their orientation. Attitude determination and control is one of the most fundamental spacecraft engineering challenges, and magnetorquers electromagnetic coils that push against Earth's magnetic field to generate torque are the simplest and most reliable actuators available for small satellites. This project builds a complete attitude control testbed: coils that generate controlled magnetic dipole moments, sensors that measure the spacecraft's orientation and rotation rates, and algorithms that close the loop between measurement and actuation. The first milestone is detumbling stopping the satellite's initial spin after deployment using a well-known control law that opposes the rate of change of the magnetic field. The stretch goal is active pointing commanding the satellite to orient a specific face toward Earth or the Sun using a magnetic field model and more sophisticated control algorithms. On-orbit performance is compared against pre-flight simulations to validate the control models. This project teaches control theory, electromagnetism, embedded real-time systems, and orbital mechanics in a tightly integrated package.
Three-axis magnetorquer coils (air-core or embedded PCB trace coils) driven by H-bridge motor drivers (DRV8833, ~$3). IMU: ICM-20948 9-axis (accel/gyro/mag, I2C, ~$15) or BMX160. Implement B-dot detumbling algorithm in CircuitPython measure magnetic field rate of change, command opposing dipole moment. Graduate to nadir-pointing using IGRF magnetic field model + sun sensor input. Log attitude quaternions, angular rates, and coil duty cycles for ground comparison against simulation.
B-dot detumbling is a standard first ADCS algorithm taught in spacecraft dynamics courses well-documented in Wertz "Space Mission Engineering." Magnetorquers are the simplest actuators (no moving parts, no propellant). PCB trace coils can produce 0.1-0.5 A·m² dipole moment sufficient for 1U-3U detumbling. PyCubed includes an onboard IMU (ICM-20948) and magnetometer this payload extends the existing bus capability rather than adding new hardware. Cost: $200-$800 for driver electronics + external coils if PCB trace coils insufficient. Complexity: intermediate requires control theory (junior-level ECE) but firmware is well-documented in open-source CubeSat codebases. Stanford Sapling series provides reference ADCS implementation on PyCubed.
This project spans 5 disciplines, making it suitable for interdisciplinary student teams.
Ready to take on this project? Here's a general roadmap that applies to most CubeSat missions:
Connect with a Blackwing chapter for mentorship, platform access, and a path to orbit.