Can this be done? and how? Using analog joystick to control digital potentiomete

Most analog thumsticks are typically 10k range but the project I wanted to do expects 1Mohm range. The digital potentiometers I've looked at all uses I2C so is there a quick and easy interface from analog stick to digital potentiometers? Or should I use ATTiny84 for analog in, digital signal via I2C out? Wanting to use both analog stick on a donor PS2 controllers so I'd need 4x digital pots and at least 4 analog inputs (ATtiny85 has only 3 analog)

Or is there digital pots in 1Mohm range that doesn't use I2C and could work with something like ADC chip to skip the need for a microcpu?

This sounds to me like an XY Problem . What device is the potentiometer driving?

Hi, Most joysticks are read by using them as a potential divider. So the total value should not be a problem, unless you have a supply current problem for the potentiometer.

Or the project you want to connect to uses a variable resistor instead of a potentiometer.

We need more information, what is the application?

Tom.... :)

TomGeorge: We need more information, what is the application?

Atari 5200 custom controller. The stock controller has crappy non-centering analog stick, 3rd party sticks are pricey, and no one makes modern joystick that can be used directly on an Atari 5200. I was hoping the modern $1 counterpart that is usually available in 10k and maybe 100k range can be used somehow without modding the console to change the reference voltage. Atari 5200 uses analog control as voltage divider to calculate position, and uses only half of the 1M ohm potentiometers between low and high side.

Hi, What makes you think you have to change the reference voltage.

Look up potential divider, which a joystick is.

If you have 5V across your joystick, no matter if the resistance of that stick is 10K or 100K or 1M, the halfway position will all produce the same voltage of 2.5V.

The only problem could be current needed to supply the divider, but you need to provide some circuit info on the Atari unit to check this.

Is the 1M unit being used as a potential divider?

Tom... :)

The pots common for Atari joystick is not 5v or 0v but it's set at a different voltage using resistor and a variable resistor inside the console. I have no idea how would ATari 5200 behave if I used a 10k joystick in it instead of the expected 1M ohm. I suppose I can try but I bet Atari 5200 would perceive the stick is being held up and left and not register any movement closer to the original center no matter what angle I hold the 10k joystick at.

I Google search for “Atari Joystick Circuit Diagram” yields a wealth of very similar circuits and, though I have not looked at them all, none of them actually has a potentiometer ! All I have looked at seem to be just 5 switches (up, down, left, right and fire) along the lines of this.

I would be interested in your reference indicting it uses a potentiometer.

The ones you found isn't for Atari 5200, it's for 2600 or 7800. Try this one: https://atariage.com/5200/archives/schematics/Schematic_5200_Accessories_High.html for the controller, and https://atariage.com/5200/archives/schematics/Schematic_5200_IO_High.html on the bottom left side the the joystick centering circuit. There's a couple resistors between ground and common leading to controller ports, and some more resistors and transistors around that centering circuit I don't know what it's for.

:) Very different from the Atari Joystick circuits I found! Presumably the 1M variable resistors you are taking about are those with no value marked at up/down and left/right. Seems most peculiar to me since in that form i would expect very non-linear and asymmetric control. The asymmetry might be ok for up/down but not for left/right . There is more to it than those diagrams show since I don't see any value for those resistors. Without access to the hardware I suspect I can't help.

Hi,
It looks like they use the "joysticks" as variable resistors with U7, instead of the more efficient potential divider.


Tom... :slight_smile: