I have read how a sun sensor can help find the orientation of a spacecraft, but I wasn’t sure how many are required, e.g. if one is needed on each face of the Cubesat. (Any additional information is much appreciated.)

  • 3
    $\begingroup$ It might depend on the kind of Sun sensor and how much information it provides. A simple one will just provide a pulse, a complicated one will provide some position vs time data. If you can mention what you've been reading and perhaps include a link in the question it might make it easier for an answer to address it directly. $\endgroup$
    – uhoh
    Jan 3, 2021 at 0:59
  • 1
    $\begingroup$ It depends mostly on each sensor's field of view in degrees, and on whether the spacecraft may maneuver to keep the sun visible by just a few or just one sensor. Yes, please provide more details. $\endgroup$ Jan 3, 2021 at 1:38
  • 2
    $\begingroup$ You cant find the orientation of the cubesat for all three axes by using sun sensors alone. The cubesat may rotate around the axis from Sun to sat. You need another point. a star or a planet. $\endgroup$
    – Uwe
    Jan 3, 2021 at 16:48

2 Answers 2


You only need two, cf. section 3.10.1 "Attitude Estimation Overview" in Schaub and Junkins 3rd edition.

Note that each attitude observation is in the form of a unit direction vector. Thus, a single attitude observation will only provide information on two degrees of rotational freedom. Although the observation vector is a three-dimensional vector, the unit length constraint implies that only two independent attitude degrees of freedom can be observed with this measurement.

You may then use the TRIAD method as a simple algorithm to determine unknown attitude measure using only two vector observations.

Of course, the direction of the sun sensors must be different, otherwise they provide the exact same unit vector of the attitude observation.

If you have more than two observations, you can use Davenport q-method (also described in the chapter I reference), the "Quaternion Estimator QUEST" algorithm, or the OLAE method.

  • 1
    $\begingroup$ Yout cant find the orientaion of the sat for all three axes by using suns sensors only. So you get orientation for two axes by using two sensors. $\endgroup$
    – Uwe
    Jan 3, 2021 at 16:52
  • $\begingroup$ @Uwe I believe you are mistaken. Schaub's book takes the example of sun sensors... It is important to note the following though: "The spacecraft's orbit must be known to determine what physical quantities the attitude sensors would measure at this location." In the case of sun sensors, one would need to have enough context to evaluate the inertial sun direction vector. The point remains that sun sensors provide an attitude observation, and therefore two suffice to determine the three axis orientation. I'd be happy to be proven wrong. $\endgroup$
    – ChrisR
    Jan 4, 2021 at 2:43
  • 1
    $\begingroup$ How do you find the rotation of the sat around the axis from sat to Sun using two Sun sensors only and nothing else? The north pole of the should be at top side, but a Sun sensor does not know the location of the poles of the sun. Do you think about using two observations with several hours between them and the assumption that the sat did not change its orientation in space during that time? But what if the sats orbit plane is identical to the Earth's orbit plane around the Sun? $\endgroup$
    – Uwe
    Jan 4, 2021 at 12:35

The answer depends on what kind of orientation the satellite needs. If the goal is to know satellite's orientation relative to the Sun (so it can, for example, turn the side with the biggest solar panels towards the Sun for charging), then one Sun sensor is sufficient. Though many sensors would help in having knowledge of the orientation all the time, instead of just sometimes.

However, you are probably interested in a full attitude knowledge, in which case it can not be acquired only with Sun sensors, whether it be one sensor or many. I will assume the attitude is relative to some inertial reference frame, even though similar conclusions can be drawn with other types of reference frames.

Place yourself as an external observer in an inertial reference frame (non-rotational and non-accelerating), looking at the Sun and the satellite. Imagine a line passing through both Sun and the satellite and that the satellite is spinning around the axis parallel with that line. If the satellite has a knowledge of where the sun is, it can be represented as a unit vector, also parallel with the line. Because the satellite is rotating, it means that the orientation is changing. Still, the Sun pointing vector remains constant. Also you can place yourself in the satellite's body reference frame, imagining that you are spinning with it and looking into the Sun. If you use only your sight sense, you will not perceive anything moving (you do not see the stars either, as the sensor can not see them). The same problem remains when the satellite spins around different axes, as it can never be sure that there is no spin around the Sun pointing vector.

That unit vector is all the information that Sun sensors can provide. Sun is sufficiently far away that the light rays are virtually parallel, and multiple sensors with the Sun in their field of view will provide the same data when converted to the inertial reference frame.

Full attitude knowledge can be gained with two different and non-parallel reference vectors. Thus you need a different sensor in order to complement the Sun sensor data. This is usually done with a magnetometer, which provides the vector pointing in the tangential direction of the Earth's magnetic field lines. If the satellite is in a higher altitude orbits, where magnetic field is weak, a vector pointing towards the Earth can be found with a horizon or IR (Earth warmer than space) sensor. Both, magnetometers and Earth direction sensors have the same limitation as the Sun sensors, providing only two degrees of knowledge.

Furthermore, just sensor measurements are not sufficient to know the orientation, it is also necessary to know the expected values. Mathematical models for the position of the Sun, magnetic fields of the Earth and the satellite's position in the orbit can be used to calculate what values the satellite should measure if aligned with the inertial reference frame. Then, the difference of the actually measured values from this ones provides the actual orientation knowledge.

Alternately, satellite can learn full attitude knowledge with use of a star tracker. Star tracker takes the image of the sky and compares the detected stars with its library to figure out its orientation. It can be insightful to think about the difference between Sun sensor and a star tracker and why does the later provide more information.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.