Stabilizing potentiometer readings


I'm trying to read 4 different potentiometer (10k), they are plug in chain (from the arduino +5V) and they each have their analog in pins plug to the arduino. usually, the readings are stable, but sometimes I do have some random readings

I am new to electronics... should I plug a capacitor to the +5v <-> grnd to stabilize the current? should I add a 220ohm on each pot output?


I'm quite new myself, been reading alot though! I was thinking averaging would be your best bet.. I'm not good with coding so I could be wrong. Tutorial from about just what you're looking for (I think), now to code it to include 3 more potentiometers! Someone else will have to help you there, I'm still learning:D

How are the pots connected? If the wires are long, they could be acting as antennas.

If they've gotten any dust in them, the wiper could be making intermittent contact (that's what causes the "crackling" sound on a stereo with volume controls that need cleaning).

If you leave a pot in one spot, does the reading stay stable? Are all of them affected?


Thanks for the tip, if there is a page about "averaging", maybe it's normal to have "moving" values; I just feel that this is a "software" patch, but if it is needed, I'll code it.

The pots are connected in series, like this :

If I don't touch anything, the values are stable. If I physically move all of them, all pot values changes.

The wiring is not that long, but since it is connected in series, it can receive interference... is it a bad thing to have connected the pots in series?

I will use this as a midi controller, I cannot really complete this if there is "bumps" in the readings...

Thanks for your help!

The pots are connected in series

If the diagram is an accurate representation of your circuit, they're in parallel.

A simple way to smooth any analog input:

 // declared globally
float smoothADC;

// inside loop() or other repeating function
smoothADC = 0.9 * smoothADC + 0.1 * analogRead(0);

Another thing you might consider is that the ADC in the Arduino expects to see a source impedance of <= 10K for best results. Your 10K potentiometers are theoretically okay but as you adjust them the source impedance varies all over the place.

It might be worth observing the same hookup with lower value pots. Alternatively, you could buffer your pot signals with simple voltage follower op amps if your application can't tolerate the additional current.

Frankly, I'm not surprised you get some interaction with that circuit.