I'm not sure the best way to ask this question, so I'll try to explain what I'm looking for, and roughly what I think is involved.

I want to measure the point of contact between two wires. This seems like it could be a resistance measurement, but I wasn't sure if that was the best way to go as it seems like the amount of change would be too small to measure.

Specifically I have two wires (more likely some sort of conductive ribbon) on a glove. One wire runs along the index finger, and the other is at the tip of the thumb. When someone touches their thumb to their finger, I want a value that indicates approximately where they touched.

For example, if they touch the tip of their finger to their thumb the value would be 1. If they touched their thumb to their first knuckle, then the value would be 0.75. And so forth. With a touch between two "points" producing a value in between.

Ideally someone could slide their thumb down their finger and produce a slowly changing value from 1 to 0.

Is resistance the way to go for this? It seems like there could a lot of other variables (surface area of contract, humidity, etc) that could dramatically change the resistance. Is there a better method?

Update: Because of some overzealous votes to close and confusion, this will be using the Arduino platform (maybe an ESP32, if that matters) once I figure out what sort of sensors and systems to work with.

  • 1
    Will you be using an Arduino in your project?
    – VE7JRO
    Commented Jun 5, 2019 at 22:32
  • 3
    the index finger resistive strip and a contact on the tip of the thumb could act as a potentiometer .... one end of strip connected to Vcc ... other end connected to ground ... read the voltage on the thumb contact
    – jsotola
    Commented Jun 5, 2019 at 23:30
  • 1
    voting to close because the question is not about Arduino
    – jsotola
    Commented Jun 5, 2019 at 23:59
  • @VE7JRO Yes, this will be using Arduino platform, that is why I am posting it here. I can go add the words Arduino to the post if that makes you feel better. Commented Jun 6, 2019 at 2:53
  • 2
    You don't want wire, or wire braid. The resistance is too low and is very hard to determine accurately. Instead you want nichrome wire. Then just use it with a resistor of similar resistance to the maximum resistance of a touch as if it were a potentiometer.
    – Majenko
    Commented Jun 6, 2019 at 11:17

1 Answer 1


you could try 4 terminal sensing.

I have not used it myself, but the basic idea is to try to normalise for some of the external factors you mention.

As for the Arduino, the analog to digital converters have 10 bits of precision. This means you will get 1023 distinct values as the input voltage varies betwee 0 and Vmax (+5 or +3.3 depending upon the actual device). So that is fairly precise, usually you just use the value from the analog read - but you can convert to a value between 0 and 1 by dividing:

    int analogInt = analogRead(<your port here- e.g. A0>);
    double analogFloat = analogInt / 1023.0

Which begs the question, did you try using a 2 wire system? Assuming just 1000 data points, and a finger being, say, 5cm in length; that's roughly 1 point per .05 mm. I know it won't work out exactly like that, but that is my point - it is likely to be a rough estimate anyway due to the size of a finger at the touch point.

  • I didn't try the 2 wire system yet. I wasn't sure if it would work, and wanted to do a little research first. The 4 terminal sensing sounds interesting too. Commented Jun 6, 2019 at 3:00
  • 1
    Thanks for taking the time to answer my question. Because it has been put on hold, it is most likely going to just end up in a black hole on here and eventually be deleted. Commented Jun 8, 2019 at 18:09
  • :-( hopefully my reply helped you even if this topic is unwelcome here
    – GMc
    Commented Jun 9, 2019 at 7:47
  • It is helpful. Thanks! Commented Jun 12, 2019 at 2:55

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