← Back to papers

A Modular Open-Source ADCS Framework for Small Satellite Development and Testing

Mr Niclas Bennet Darith Scheuer — Master’s Student
ETH Zürich
Engineering Technology Attitude Determination and Control Automation Simulation, Modeling Systems Analysis Systems Engineering & Integration

Schedule

Poster Thursday, May 28, 2026 · 9:00 AM · Posters Area – Kiosk 2

Abstract

Advanced attitude determination and control (ADCS) techniques are often difficult for small satellite teams to adopt due to tightly coupled implementations and the need to rapidly evaluate alternative architectures. Evaluating prospective ADCS options may require significant modification of existing code for specific actuator combinations, sensor hardware, orbits, mission goals, and control laws. Existing options are limited: Basilisk and OpenSatKit use C++ cores with Python wrappers and message-passing architectures that are difficult to adapt, and most options focus on orbit mechanics or overall flight software rather than closed-loop ADCS. This paper presents an open-source, modular ADCS framework in pure Python that enables rapid development, repeatable testing, and flight-oriented integration across heterogeneous spacecraft.

The package supports torque- and command-level control, bound-respecting allocation, and full- and reduced-attitude objectives. Estimation, control, planning, and actuator/sensor modeling are implemented as interchangeable modules reconfigured through configuration rather than code restructuring. Integrated simulation includes attitude and orbit propagation, configurable sensor and actuator models with bias and noise, and environmental disturbances. An actuator-aware planner supports underactuated architectures, while hardware-in-the-loop capability enables testing on mission-representative computers.

We demonstrate the framework through a variety of case studies including a 3U CubeSat with three magnetorquers and one reaction wheel, a magnetorquer-only 1U, and a 6U with three reaction wheels and thrusters. Across these, we showcase actuator and sensor failure modes, full- and reduced-attitude goals, and momentum management. HIL testing on a Raspberry Pi is demonstrated in the same package. Adapting a published control law to a new actuator configuration requires less than 5 lines of configuration changes. The framework underpins flight software for an Earth-observing CubeSat with visible and long-wave infrared imagers, three magnetorquers, and one reaction wheel, without star trackers or propulsion.

Authors

  • Dr Patrick McKeen — Postdoctoral Researcher
    Massachusetts Institute of Technology
  • Dr Niclas Bennet Darith Scheuer — Master’s Student
    ETH Zürich
  • Prof Kerri Cahoy — Professor
    Massachusetts Institute of Technology