i believe your problem is dealing with the "noise", and you want to remove that noise (averaging is the usual and easy trick), well, just as every problem dealing with noise, afaik you'll be in trouble if your signal is closer to noise level, and i believe there's no easy trick for that. so taking an easy step, assuming your signal level is significantly larger than the noise, you can either do the averaging the entire process, or keep detecting some threshold level, ie if the reading difference is lower than this threshold, you'll assume noise and do not change the averaged data, but if its exceeding the threshold, you can stop the averaging and read instantanoues data, but i believe the noise/jitter is still there, in your "legitimate above threshold" reading, except you dont see it much since you signal overshadowing the noise. my best bet will be... continuous averaging! without the hassle to handle every possible situation, it is noise you are dealing with afterall. about the respond time, its a compromise between reading stability vs respond time, ie you use more data, it will be slow respond, but you get more stable reading, and vice versa. YMMV.