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]