Analog Controls

A project log for Bluetooth Arcade Controller

DIY bluetooth fightstick for PC / PS3

robboRobbo 07/19/2014 at 01:560 Comments

Adam asked in the comments about retaining the force sensitivity functionality that comes with the original Sixaxis.  I hadn't really thought about this as I don't have the need for it myself but it was an interesting point and should be easy though to check out.  If possible then you could wire up other types controls to use in applications that require variable input such as flight / driving sim throttle control or even a steering wheel.

The original controller uses membrane buttons which vary the resistance with pressure.  I don't have any such arcade buttons handy (in fact I haven't even been able to track any down while looking into this) but a potentiometer should give the same result.

My spare parts list is very much a work in progress but I do have an old unused 'portable' CD player laying around that happens to have a couple of pots on it so I figured they'd do for a proof of concept.  These are both 100kΩ, log tapered, not ideal but they work in a pinch.

I'd noticed before that windows treats the L2/R2 inputs as the Z-Axis in the config dialog so that was the first place I wanted to check.  I wired up the 100kΩ pot to the L2 and go to twiddling.

It was possible to hold the Z Axis value at points in between the extremes easy enough, L2 takes the Z Axis up to max, R2 drops it down to min.  Windows treats all other buttons as digital on/off, but different drivers may solve this.  As shown, the drivers I am using use make the PS3 controller show up as an XBOX 360 controller.

The pot was obviously way over specced as I would only get a reaction from a small fraction of the turn before effectively being seen as off. A rough measurement suggested that something around the 5kΩ mark would be more appropriate.

I was still interested to see if the other buttons could be used with analog control but PS3 controllers on Windows via Bluetooth is temperamental enough so I wasn't going to go mucking about with my drivers right now.  I do know that GT5 uses pressure sensitivity on the the X button to vary throttle control though, so it was time to fire up the PS3.

That's the big pot wired up to the X button.

And that's the throttle being held half open via the pot, yes if you wanted to you could drive around using a big knob for the throttle.

So there's that, but as I said earlier the 100kΩ pot isn't great for this as there's a lot of dead space and the log taper, while good for audio, isn't very useful in this application.  So... I ordered some new pots (I was planning on using them in my arcade machine restores anyhow).

After a bit of trial and error, it appears that a 5kΩ still has a bit of dead space (is that even the correct term?) in it but wiring up a 1kΩ resistor in series with a 5kΩ linear pot gives pretty good response.

So there you go, while I didn't originally have any plans for analog controls, it is possible.  Something to keep in mind if I want to implement an arcade wheel for something or twiddle with some knobs and sliders I could also use this interface.