Maximizing voltage swing with small potentiometer movement?

Hello I have the identical problem to the one described in this thread:

I want to connect a potentiometer to a foot pedal but the range of movement of the pot will be limited to about 50 degrees. Is there any way to make this deflection produce a full 5V change in the output?

In the thread above, @Grumpy_Mike suggestes "using a reduced referance voltage to get the full swing from your reduced angle of movement".. I'm not sure what he meant by that.

Another reference voltage only works if the pot is being used from (almost) minimum resistance to 50 degrees. Could you measure the resistance of the pot at the two extremes of the foot pedal. Can the pot be moved/rotated, so it starts at almost minimum resistance. Leo..

yes.. i think that should be possible.

If I know the resistance of the pot at both extremes of the pedal, I can calculate the resistor value for the voltage divider. Also post the numbers printed on the pot, like 10KB or B1K Leo..

Just connect the potentiometer to an Arduino analogue input with the default analogue reference. The range of movement will cause the digital reading to change by about 150. Surely that gives more than enough accuracy for a foot pedal.

Sorry for not replying.. i was rather busy this past week. @Wawa.. I don't have a way to measure the resistance right now. Howerver, you mentioned a votage divider. Do you think you can show me a diagram of how to wire it up with the pot? That way, I might be able to calculate the values on my own. Moreover, I'd like to understand setting a reference voltage works.

@Archibald.. true. That accuracy may be enough, but I'd also like to learn something new here. :)

If you can get the pot so one end of peddles movement its zero (or very close) and at if the other end of it’s movement it does not go above 225 then just using the internal 1.1V reference will maybe do.
1023 / 5 * 1.1 = 225

As Riva has explained, try to move it so the wiper starts close to one end of the pot. Connect normal, and post the values. Leo..

what do you mean by "connect normal"? @wawa and riva.. I don't understand how to connect the pot as you have described. Also, what do you mean by "Using a [particular] reference"?

EDIT: is it this?

Normally a pot is connected so that one end goes to 5V and the other end to ground with the wiper to the input.

Yes that link is what we were talking about.

Connect the pot as Grumpy_Mike has explained, and read the analogue pin normally.

With a limited rotation of the pot, e.g. <=50 degrees, you get a limited range of digital values.
e.g. ~3-4volt from the pot gives ~400-600 digital. 200 digital steps might be ok for your application.

If you mechanically turn the pot, so the wiper starts almost at the ground end of the pot, the voltage coming from the pot is shifted down to e.g. 0-1volt.

If you tell the A/D converter to compare that to the internal 1.1volt reference, you get ~0-1000 digital. A five times higher resolution.

One line of code is needed in the setup.
analogReference(INTERNAL); or analogReference(INTERNAL1V1); for a Mega.


ok.. thank you very much. I will try this and post back .