This might be just the thing for a robotics project cancelled on account of – “expensive”. Professor Mason created a quadrature encoder by fitting a motor with 2 inexpensive hall-effect sensors and a small magnet –

In this application, two sensors are attached 90 degrees out of phase around the motor. A small permanent magnet is attached to the motor shaft. Each of the sensors is fed to an ADC on a picaxe 08M.
[…]
As per standard quadrature encoders, the leading pulse tells us the direction of the rotation while the number of pulses tells us the distance rotated. For example, here is a pulse train for the encoder rotating the opposite way.

If you’re not familiar with rotary encoders building one is (of course) a fantastic way to learn – encoders or ‘angle transducers’ come in handy for determining the position of a control knob or robotic appendage, among others things. [via Ladyada’s Ranting]