Interfacing joystick buttons

tldr; How do I interface this joystick's buttons with my Arduino - without using the USB interface?

Skip to "---the project---" below if you don't want to get bored reading.

Morning all,

-----my arduino experiene ------

My experience is quite low level use of arduino to hack various existing things. For example:

  • Automating a manual roller blind sign originally from the front of a bus; and
  • using an xbox controller as a PWM slot car controller at my local track.

I'm moving more into robotics, and getting familiar with the ubuquitous IR and ultrasonic sensors etc.

I have a variely of servo controlled projects at the moment, including a 3d printed robot arm. I'd like to be bable to control them with a joystick.

------ the project ------------

I'm using a Logitech Extreme Pro 3D i got from freecycle. it has 4 pots and about a million buttons (4 of which create a mini-joystick on top)

I am tapping into the analog side of the circuitry, so am not using the USB interface except to provide power.

So far I've completed the following steps:

  • Attach arduino 5v rail and GND to internal 5v/GRND internally to get power running to the pots.
  • Tap each pot wiper for connection to an analog pin.

I'm a bit confused about the buttons. They are the familiar push-to-make momentary switches, but I cannot work out if they pull-up / down etc.

The buttons themselves are mounted on 2 PCBs, which plug in to the main PCB with connectors.

  • Up top there are 10 switches (including 4 for mini joystick) - 7 wires come from this PCB.
  • On the side of the joystick there are six buttons a few diodes on a PCB - 6 wires come from this PCB.

I can attach photos of the PCBs if that helps?

Anyone have any idea how I should be approaching hooking up these buttons. Presumably I can add each to a digital input to pull it high/low?

I only have a DMM at my disposal for testing - no scope.

thphastmaster:
I'm using a Logitech Extreme Pro 3D i got from freecycle. it has 4 pots and about a million buttons (4 of which create a mini-joystick on top)

I am tapping into the analog side of the circuitry, so am not using the USB interface except to provide power.

Yo, I did the same thing for my ground station control for my past Arduino airplanes! Same joystick, tapping into the pots, and everything lol. I never used the buttons, though.

thphastmaster:
I'm a bit confused about the buttons. They are the familiar push-to-make momentary switches, but I cannot work out if they pull-up / down etc.

The easiest thing to do is to cut the traces to the buttons, solder some fly-away wires to the buttons, and attach them to the Arduino directly. That way you can use the Arduino internal pullups to pullup the button inputs yourself. The only problem is that you could easily run out of room inside the stick with all the extra wires.

I can see how that'd be a good joystick for your application.

I'm not keen on cutting traces etc, particularly if I can just tap solder points already present (like the pots).

Maybe I'll just hook up the joystick to a USB charger and go poke around with my meter.