What is the lowest resistance pot that is useful with an analog input? Background

I've dabbled in electronics since my parents gave me a 150-in-1 kit in the 1970's but never had formal training. My dad repaired Honeywell mainframes so taught me to solder when I was 8. I have a decent set of equipment like irons, parts, meters, etc. and realize I know enough to be dangerous, which is why I avoid mains-powered stuff.  I'm not a newbie but am all too aware of the many holes in my knowledge.  I'm doing this for fun and in a way that allows for failures to be expected, cheap, and educational.

Project

I have a WS2812b LED strip connected to an Arduino Uno and am using various animation libraries to drive it. The goal is to move to a pro mini once the hardware is more settled and use it for creative lighting inside my house or garage.  I started with just the strip and let it display different animations in a sequence based on time but then wanted to attach a button which would advance to the next animation.  After implementing debouncing it worked fine and I moved on to adding a potentiometer to select the speed of the current animation; increasing or decreasing the delay between each 'frame'.  Of interest here is I was using old pots (panel mount not for typical board use - hence I had to solder wires to them just to use them in any configuration) and not doing any ohms law calculations, just hooking up the hardware and tuning the values for mapping the detected voltage to the desired delay by checking printed output from the serial monitor.     

I'm happy with the general setup when using a breadboard but when I went to solder something more permanent on perfboard I ran into a problem; the speed control wouldn't work.  I'm sure the first pot I used was 10k but when I checked it with the meter it registered as completely open so I figured I had blown it. Thinking that I needed to control the current I read posts like this one and this one about limiting current I felt better and proceeded to replace the pot with a 25 ohm version thinking that the only difference would be in calibrating the values for mapping the detected voltage to the desired delay.  The behavior I got was randomly fluctuating values for the delay and when I hooked up the prototype using USB to my laptop I could see that the analogread() values were fluctuating wildly within a range even when I wasn't manipulating the pot yet nothing I did could get it to be consistent.  My first thought was that there was a problem with ground so I rechecked the connections but they all tested fine, including still reading 25 ohms along the outside terminals and varying values on the wiper consistent with rotating it along its path from end to end.  When I gave up on my protoboard and returned the circuit back to the breadboard I replaced the full size pot with a 10k small one meant for breadboards and the speed control works again.  This leads to my question.

Question

Is there a minimum value for a potentiometer connected to an analog input of an arduino, or is it more likely that there was an issue with my soldering job on the protoboard?  I don't have a picture of the board because I've already desoldered components from it but I can tell you that it was my first attempt at perfboard soldering and it would not win any prizes, sort of the 'face only a mother could love' sort of thing. If it matters, I was using analog input A2.
Assuming you wired it correctly (ie. you put the wiper to the analog input) your first setup looked like this:



Your big problem here is the current flow through the pot. Using Ohms Law the current would be:

I = V / R
I = 5 / 25
I = 0.2A  (200 mA)


That is too much to be drawing from the 5V pin and it could easily drag down the voltage to the rest of the board. Also the power would be:

W = I * V
W = 0.2 * 5
W = 1W


One watt is a lot to put through a pot, and you may well have burned the track inside it.




  So, if I included a 10k resistor on either side of the pot that should address the current issue but it leaves the question of whether the remaining 25-ohm range is too small for the ADC to register distinct values, ...


The 10k resistor will stop the current problem, but now the range in the voltage divider will be ridiculously small. The setup will now look like this:



Unfortunately the range you are going to read with the analog input is going to be (voltage divider formula):

Vout = Vin * (R2 / (R1 + R2))


With the wiper at one end R1 will be 10000 and R2 will be 10025 and with the wiper at the other end it will be vice-versa. So the voltage you get will be:

Vout = 5 * (10000 / (10025 + 10000))
Vout = 5 * 0.499
Vout = 2.497


Or:

Vout = 5 * (10025 / (10025 + 10000))
Vout = 5 * 0.501
Vout = 2.503


In other words you will always be reading about 2.5V and therefore your analog read will always return around 512, which won't be much use to you.




  I'm going with a larger value pot (10k or 25k) ...


That sounds like a sensible value. A 10k pot will only draw:

I = V / R
I = 5 / 10000
I = 0.5 mA


That is a reasonable current draw and the analog input will still read it fine.



As Majenko points out in his answer you don't want a whole lot more than that resistance because of the optimal input impedance of the ADC converter (10k). A very high resistance would mean only a small current would flow into the analog input pin.



How to use your 25 ohm pots

If you want to use your existing 25 ohms pots because of their physical appearance, then a  small resistor in series could reduce the current to a reasonable amount and still give a good reading range. For example, 330 ohms on the "high" side (and nothing between the low side and ground).

Vout = 5 * (330 / (355 + 330))
Vout = 5 * 0.193
Vout = 0.963


Or:

Vout = 5 * (355 / (355 + 330))
Vout = 5 * 0.581
Vout = 2.591


That is now going to give you a reading between 0.96V and 2.59V which, whilst not the full range of 0V to 5V should give you reasonable differentiation as you turn the pot. And the current through it would be:

I = V / R
I = 5 / 355
I = 0.014A (14 mA)


Thus the power would be:

W = I * V
W = 0.014 * 5
W = 0.070 (70 mW)




References


Voltage Dividers tutorial
Ohms Law