Even in an ideal situation you won't really get the full range without some conditioning circuitry. The Allegro sensors can only give you an output in a range from slightly above the 0V rail to slightly below the 5V rail. I believe that 0.5 to 4.5 Volts is the common output range. Usually the joystick's internal self calibration takes care of this, so on modern joystick you won't really notice it and the number of discrete steps will be really limited by the software. I suspect that modern joysticks sample the signal at a higher resolution than that of the values returned to the PC, in order to condition the signal and apply noise filtering.
Btw, very clean job Gene, looks very good. You might try to add a mild steel flux ring (a few wraps of steel wire on a wooden dowel?) on the outside of the magnets to provide some shielding and possibly increase the magnetic field between them. Since it would turn along with the magnets histeresys would not be an issue, though I realize it would make things a bit bulkier and complex.

Last edited by Brandano; 03/07/11 05:29 PM.