Analog inputs are a bit more complex than digital. They require either one or two variable resistors to be used as triggers or thumb sticks, respectively.

Let's add a joystick to the X1 or X2 ports, which can control the two thumb sticks. This joystick is really just a pair of potentiometers, one for the X-axis that is controlled by horizontal movement of the stick, and the other for Y-axis motion achieved through vertical motion of the stick. It's capable of mixing those motions to partial values of both potentiometers simultaneously for smooth motion, and has a spring return to bring it to center when you let go.

From our previous look at the XAC Standards we saw that we'll use this following connection schematic:

Again, note how we're reversing the direction of the second potentiometer to mimic the value behavior of a typical joystick.


We'll first connect the ground and reference voltage tabs of the pots so we only need four, not six wires.

Next, we'll use four long lengths of silicone sheathed stranded wire. These are color coded for ease of explanation in this guide, however, they are unruly and could get tangled easily, so you would want to use some wire loom to neaten them, or get some appropriate four-conductor wire for your own use. (Old USB cables can be a very good source for this once you cut off their ends!)

Strip some insulation from the four wires.


Add some heat shrink tubing to each wire.


Solder the black, green, and red wire's as shown.


Solder the blue wire only to the other potentiometer.


Heat the shrink tubing.

Add Terminal Adapter

Now, screw in the four wires as shown. Ignore the markings on the adapter, those refer to the expected use as a stereo + microphone adapter, not a joystick for the XAC!

Plug in the joystick to X1 or X2 on your Xbox Adaptive Controller and you're ready to play!

Note, you should be able to use a similar wiring scheme to adapt a PSP thumbstick like this one.

As you can imagine, every gamer with assistive tech needs will want potentially unique solutions, so this is just a small set of possible controls you can build, and some of the fundamental techniques for getting started.

USB Inputs

As mentioned previously, this guide does not go into USB HID joysticks, but there is some work being done by Bill at AT Makers and our own Dan Halbert to bring CircuitPython HID joystick drivers into use with the XAC and Circuit Playground Express boards. Stay tuned!

This guide was first published on Jan 11, 2019. It was last updated on Jan 11, 2019.
This page (Analog Inputs) was last updated on Oct 31, 2020.