I'm using two 1K potentiometers and I want to achieve this result:

When the first pot is set to 1K (100%), adjusting the second pot should change the output from 0 to 1Kohms.

When the first pot is set to 500 ohms (50%), adjusting the second pot should change the output from 0 to 500ohms.

I have wired the potentiometer like this schematic. but the lower range changes too. for example when I set the first pot to 120 ohms, turning the second pot changes the output to Arduino from 60 to 120 when I want it to be 0 to 120.

enter image description here

I want the output to be linear. How can I approach this problem?

  • \$\begingroup\$ What you want is a \$1\:\text{k}\Omega\$ potentiometer with one physical wiper whose motion is limited by the set position of another movable arm which constricts it. This also has the advantage that when the limiter arm is set to zero Ohms, the physical wiper cannot move at all so it is always zero. Which is the right behavior. You should not be able to move the wiper when limited to zero Ohms. This can be built or fabricated but it will be boutique. A moveable "stop" to the regular pot rotation is basically what you need. \$\endgroup\$
    – jonk
    Aug 9, 2020 at 22:35
  • \$\begingroup\$ Please explain more why you need this. I suspect there are other ways of achieving the desired result. The output is sure a voltage, not a resistance. \$\endgroup\$ Aug 9, 2020 at 22:39
  • 2
    \$\begingroup\$ Put them in parallel and make them \$2k\Omega\$. Set Pot 1 to \$2k\Omega\$. Adjust Pot 2 from \$2k\Omega\$ to 0. Resistance will vary from \$1k\Omega\$ to 0. You'd have to set both to \$1k\Omega\$ to get Pot 2 controlling \$500\Omega\$ to 0. But that is the only way it works. \$\endgroup\$ Aug 9, 2020 at 22:57
  • 2
    \$\begingroup\$ it is unclear what you are trying to do ... you say that you want the output to be resistance, but the Arduino uses voltage for input \$\endgroup\$
    – jsotola
    Aug 10, 2020 at 0:06
  • \$\begingroup\$ Sorry I mentioned ohms instead of volts thought it would make it easier to understand. \$\endgroup\$ Aug 10, 2020 at 10:08

2 Answers 2


Here's how, if I have understood it right.

enter image description here

  • 1
    \$\begingroup\$ That's exactly what I was looking for. this circuit also fixed two other problems I had. thank you very much, saved me a lot of headaches. \$\endgroup\$ Aug 10, 2020 at 10:06
  • \$\begingroup\$ Anytime, Benedict Rehiesi, and thank you! \$\endgroup\$
    – vu2nan
    Aug 10, 2020 at 10:12

I think what you want to do is to limit the maximum setting of the pot you call "pot 2".

In which case you just need to swap the pots 1 and 2 and your circuit is okay.

The Arduino (most of them) 10-bit ADC reads from 0 to 1023 for 0 to Vdd. So if R2 in your schematic is set to minimum resistance, R1 will drive the ADC from 0 to 1023.

If R2 is set to maximum resistance, R1 will drive the ADC from 0 to about 512 (+/- 10 or 20% because pots tend to have poor tolerance).

R2 (your maximum setting) is not linear, but R1 (the voltage divider) is.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.