http://members.shaw.ca/swstuff/spindle-encoder.html