I have a wearable wristband project where I'd like to detect a touch to the outside of the wristband, like a button. However, all my attempts to get this to work with capacitive sensing fail.

The problems accumulate from these aspects:

  • Without grounding, the behaviour seems totally arbitrary at times
  • I need high response times (12 fps so < 100ms), so some resistor values keep hitting the timeout limit
  • Testing is really hard, as behaviour changes after unplugging the USB connection to the computer. I have a bluetooth connection in the Arduino and debug via bluetooth connection to get a "actual scenario" type of reading
  • I've also tried things like setting very short timeouts as well as low sample sizes as well as experimented with different resistors

However, I am not trying to really get any sort of gradual "capacitive sensing" here at all, I merely would need to detect a threshold for "is touching". In fact, the area that the user is touching could even be made out of metal (which it was in my tests so far) and touched directly (so nothing in between finger and metal).

This seems like such an obvious thing to try to achieve, I believe there must be some way to get this done. Any ideas?

  • Could you put some metal on the inner side of the wristband? This would allow you to use the user's body as a ground. May 18, 2015 at 8:10
  • @EdgarBonet It should be possible. You reckon this would help? How would this work without resulting in a "full" contact being detected all the time?
    – kontur
    May 23, 2015 at 19:59
  • This still would need testing. But for sure having a closed circuit is needed. C.f. my answer below. May 24, 2015 at 12:50

1 Answer 1


Expanding on my previous comment:

You can think of capacitive sensing as a form of impedance measurement, even though it's more a threshold detection than an actual measurement. In order to perform an impedance measurement, you have to build a circuit like this:

┌─────────┐           ┌───────────┐
│         ├───────────┤           │
│  meter  │           │ impedance │
│         ├───────────┤           │
└─────────┘           └───────────┘

The important thing in this figure is that you need two electrical contacts in order to close the circuit. The lower contact is often provided by a common ground, but since your wristband is not properly grounded, you will have to provide it by some other means.

My suggestion is to have two electrodes on the wristband: a lower electrode in permanent contact with the user, and an upper electrode that will be the touch button. If both electrodes are exposed metal, then you have a full DC path all around, and this is not “capacitive” sensing any more. Depending on how your sensing is done, this may not be a problem, and it may be detected just like an infinite capacity.

If you want to avoid a full DC path, you can have one of the electrodes covered by a thin layer of dielectric. Or even both, but then you have two capacitors in series and need twice the sensitivity.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.