I bought a robot arm kit that came with a shield that had 2 PS2 joysticks on it. The two Arduinos I tried with it would always show 1023 on the analog inputs for all of the analog inputs. I tried other potentiometers and another PS2 joystick without the shield, and the analog inputs read properly. After some troubleshooting I tried cutting the Aref pin on the shield and the analog pins started reading correctly.
Notes about the board that I had to dig around to find:
- Left joystick X axis connected to A0
- Left joystick Y axis connected to A1
- Left joystick Z axis (button) connected to D2
- Right joystick X axis connected to A2
- Right joystick Y axis connected to A3
- Right joystick Z axis (button) connected to D4
- Servo 1 signal pin connected to D11
- Servo 2 signal pin connected to D10
- Servo 3 signal pin connected to D9
- Servo 4 signal pin connected to D5
- Servo 5 signal pin connected to D7
- Servo 6 signal pin connected to D6
- Shield LED connected to D3
- Bluetooth TX connected to D13
- Bluetooth RX connected to D12
Shield is labelled: mearm.wdt v2.18.8.22.s
It is also sold as: Dual PS2 Game Joystick Button Module JoyStick Shield Compatible With UNO R3
This schematic doesn’t show that the Aref pin is tied to ground, but on the board I have it is. Store with link to schematic PNG.