Arduino as Joystick, > 8 Bit

Hey everyone,

For a while I have been using a cheap USB driving wheel joystick to play various driving games and I recently got hooked on Eurotruck Simulator. I don't mind the wheel in general, but when on the highway the resolution of the wheel is too coarse, so I have to concentrate supper hard just to stay in one lane while swerving back and forth like I'm drunk.

The game will support two joysticks, so I want to make an Arduino into a better steering wheel only joystick to take the place of the one on the consumer device. I have looked into the Unojoy library and the joystick library for the digispark and both of these only have an 8-bit joystick value. Considering this is likely close to what I have already I would really like to find a library that can at least make full use of the 10 bit ADC.

If anyone knows of a library that would work please point me in the right direction. Otherwise I will likely add a city / highway range switch that changes sensitivity, but that's not as elegant of a solution.

so I have to concentrate supper hard just to stay in one lane while swerving back and forth like I'm drunk.

Sounds like real life ;)

I would really like to find a library that can at least make full use of the 10 bit ADC.

MOst of the times ADC have 1 or 2 bits of Noise so getting 8 significant bits out of 10 is not that bad. Solution might be the use of external 12 or even 16 bit ADC's?

Good point on the ADC. I haven't finalized my sensing plan yet. If I can, I would just like to hook up better hardware to the pot that I think is in there, but if that doesn't work I do have some other ideas. Most involve some sort of external sensor. I am even considering mounting a two axis accelerometer to the front center of the wheel and measuring the gravity vector, but these would really only be a big improvement if I could get more resolution to the PC.

maybe not the answer, but are you familiar with - http://www.pjrc.com/teensy/td_joystick.html -

Thanks, I had not seen that page before, and it looks like they are using 10 bit analog control values.