Adding axes to a usb joystick

Hey guys,

I am using this:

with the code to control 10 servos. 4 are analog signals (roll, pitch, yaw axes) and the other 6 are just digital buttons, pretty standard for a joystick. Anyway, I would like to keep the usb to the PC but add another 20 or more analog inputs. I saw one persons schematic of an 8 analog axis controller but it was limited by the number ADC's. I have looked at multiplexing but i'm not sure if I can specifically use it for this.

i'm still pretty new so i'm wondering if anyone has any advice on this?


How fast do you need to sample the ADCs?

There are plenty of SPI and I²C connected ADC chips around which would be simple enough to interface to the Arduino giving as many direct ADC channels as you like - much better than multiplexing. The speed won't be as fast as the internal ADCs however.

Multiplexing isn't usually a problem, but there is a chance of crosstalk between channels on the same plex. It all depends on how much responsiveness you need.

well, like i said, i'm running servos so 50Hz each.

could i use these adc chips to add to or emulate a usb joystick?

can you give some examples?