cheap way to sense relative orientation?

Scenario: Suppose you throw a spinning plastic disk through the air in your back yard: What is the least expensive way to sense its relative orientation? For example, if you configured the sensor to flash an LED on the edge of the disk, it would flash in the same direction.

I’m thinking a single-axis gyro or a compass sensor might both work. But are they my only options? I’d like to hear your thoughts.
I considered using a photocell and a filtering algorithm, but passing vegetation might confuse it. Any other thoughts?

Elaboration:

  • A vertical x-axis pierces the center of the disk.
  • The horizontal x and y axes define the plane of the disk.
  • The sensor needs to detect each time the x or y-axis points in approximately the same direction (any direction - doesn’t matter).
  • Must be able to operate in typical day/night residential neighborhood conditions, not confused by vegetation and various lighting conditions.
  • It does not have to sense each rotation, just most of them (>90%)
  • It does not have to be precise, just within a few degrees.
  • The disk does not have an attached object, such as an airplane tail, against which it can measure its relative motion.

How fast is it spinning ? How big /heavy ?
How will it survive the impact at the end ?

I would say very difficult , sensing the direction whilst rotating , and performing the calculations required in one revolution . Not sure where I would go with that one !

Thanks for sharing your thoughts, @Hammy. I'm thinking of something like a large "frizbee" - common toy plastic disk for throwing, about 20 inches (50 cm) across, rotating several times per second.

Your goal is not clear to me.

In this example:

rolfedh:
...if you configured the sensor to flash an LED on the edge of the disk, it would flash in the same direction.

Depending on the LED flash frequency, it would flash in many directions relative to the real world. Even if it flashed only once per revolution relative to earth, it would flash in different directions relative to earth, as the disk tilts and its spin dies down.

rolfedh:
The sensor needs to detect each time the x or y-axis points in approximately the same direction

So, what exactly does "same direction" mean? Does it mean, for example, that you could set it to detect the amount of time the x-axis spends within 3 degrees of vertical (the direction of gravity). Or the number of times it enters or leaves that envelope? Or, say, detect the number of times the component of the y-axis projected on a horizontal plane passes between + or - 5 degrees of magnetic northwest?

What, exactly, are you trying to do?

This would be a very difficult project. But it would be an excellent learning experience.

A magnetometer/accelerometer tilt-compensated compass would probably not be fast enough to estimate the yaw angle for a spinning disk. For example, the recent LIS3MDL has a maximum data rate of 80 Hz. At that data rate, a point on the edge of a disk rotating at 5 per second would sweep out an angle of 22.5 degrees.

You could start by considering a gyro. Learn how gyros work, how fast you can read them, how to estimate the total rotation angle from the readings (by numerical integration), and how rapidly that estimate becomes useless due to offset drift.