Until something better not yet invented comes along, I will always spec in the AN8 sensor from Cherry (
http://www.cherrycorp.com/english/se...n8_series.pdf).
It is a magnetic Hall effect rotary sensor that can be used with any two pole magnet. The output is effectively the same as a potentiometer. Major advantages are:
-non contact
-can be non concentric to a degree
-very robust
-360 infinite rotation (only senses 350 degrees)
2826 has been using these sensors in every robot since 2009 and we love them.