I'm experimenting with CapSense on an enhanced 16F device, and have somewhat incorporated it into an application (just 1 switch) which has a 3-digit LED display, and I'm dumping the CapSense output to the display. At this point, I can see the output change as a finger gets close, and I'm using this to tinker with the pad size and various parameters to get a good signal change. For a production app though, I expect that tolerances, temperature and other environmental variations, would vary the detection threshold from one product to another. First thought to correct this is to detect the baseline value on startup and use that from then on, but I expect there may be drift over time...??? The eraser-head "mouse" on my laptop obviously has some strategy for auto-zeroing itself due to drift (any constant value for ~5 secs must be zero), so I can steal some ideas from that. But then again, the eraser head has incorrectly thought my finger leaning on it was zero (and it happens quite often). Are there any other strategies for this? I do expect some parameters in any strategy will depend on expected usage (how long a user may hold down a switch etc), but looking for general strategy concepts at this point. Cheers, -Neil -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist