Smart Nanosatellite Attitude Propagator (SNAP)


World Map of SNAP Users
World Map of SNAP Users as of December 2012.

The Smart Nano-satellite Attitude Propagator (SNAP) is a tool I created based on my master’s research. It is a 6-DOF satellite attitude propagator implemented in MATLAB and Simulink that can be used to analyze the environmental torques affecting a satellite and to design and analyze passive attitude stabilization techniques, such as Passive Magnetic Stabilization and Gravity Gradient Stabilziation. The tool includes models for:

  • A simple two-body gravitational model for orbit propagation
  • Gravity gradient torque
  • Magnetic torque due to permanent magnets
  • Magnetic Hysteresis torque and damping
  • Advanced capabilities including aerodynamic torque and active magnetic control are available, but are not included in the release versions of SNAP.


SNAP can be used to simulate the attitude and pointing dynamics in orbit for passive satellites. This is suitable for light-weight satellites (CubeSats, Nano-satellites, etc) whose attitude stability is largely affected by external environmental torques that are normally ignored in larger spacecraft design. SNAP was initially designed to simulate magnetic field tracking stabilization using permanent-magnets and hysteresis material for damping. It can also be used to simulate earth-pointing stabilization using a gravity gradient bias.

Since SNAP 2.0, users may augment the SNAP Simulink model with other sources of forces and torques. This allows the user community to build additional models, for example for  active control schemes (reaction wheels, torque rods, momentum wheels, etc), solar models for power generation calculations (for a given attitude profile), and attitude determination sensor models to evaluate determination accuracy. Orbit propagation can also be studied with additional models for aerodynamic drag for orbit lifetime studies and thruster models for orbit maintenance.


The following video is a simulation of KySat-1. It is passive magnetically stabilized using a set of permanent magnets and hysteresis strips. SNAP simulates the attitude and produced an STK (Satellite Tool Kit by AGI) attitude file. The animation is done in STK, SNAP only produces the plots and is capable of outputting the attitude history.

Video of Simulated KySat-1 in Orbit

References and More Information

The early versions of SNAP were based on the master’s thesis and the publications listed below. Later versions of SNAP include several improvements beyond the original work that are documented in the Advanced Information document.

  • [1] Samir A. Rawashdeh, “Attitude Analysis of Small Satellites using Model-Based Simulation”, publication pending.
  • [2] Samir A. Rawashdeh, “Passive Attitude Stabilization for Small Satellites”, Master’s Thesis, University of Kentucky 2010, Lexington, KY   (download)
  • [3] Samir A. Rawashdeh, James E. Lumpp, Jr.,“Nano-Satellite Passive Attitude Stabilization Systems Design by Orbital Environment Modeling and Simulation”, AIAA Infotech@Aerospace Conference 2010, Atlanta, GA
  • [4] Samir A. Rawashdeh, James E. Lumpp, Jr., “CubeSat Aerodynamic Stability at ISS Altitude and Inclination”, 26th Annual AIAA/USU Conference on Small Satellites, 2012, Logan, UT
  • [5] Samir A. Rawashdeh, J. E. Lumpp, “Aerodynamic Stability for CubeSats at ISS Orbit”, Journal of Small Satellites, vol. 2, no. 1 pp. 85-104, Jul 2013.


SNAP v2.64 is hosted on the University of Kentucky Space Systems Laboratory website.

SNAP v3.0 is available as a MATLAB toolbox and can be downloaded at the MATLAB Central File Exchange.