4-wire resistive touchpad help, please

I have a HT043A-NCOFD52 4-wire resistive touchscreen from SparkFun and am attempting to interface to an Arduino Nano (168). The touchscreen connects to the breakout board (BOB-09224... also from Sparkfun) and then to about 1 foot of thin ribbon cable to a 4 pin molex connnector.

With reference to the http://www.sparkfun.com/datasheets/LCD/HOW%20DOES%20IT%20WORK.pdf "How Does it Work" document, I've tested the X axis separately and believe it's working.

When I hook up the circuit as described below to test the Y-axis I get odd results as described here: When I touch near the bottom, I immediately get an expected "low" value, however, when I release the touch, the value stays near the value that was read while touching and then slowly climbs up to value near the middle of the range. This happens in an opposite manner if I touch near the top of the range... an expected value is immediately read but when released the value read slowly falls from the touched value to somewhere near the middle of the range. Wherever I touch I get an expected value while touching, but, when I release the system doesn't react as expected (which would be to immediately going back to zero).

The pin config is as follows (TS = TouchScreen, A = Ardunio analog pin):

TS1 = +5V TS2 = Unconnected (floating) TS3 = Ground TS4 = A1

Test code is as follows:

void setup() {
  analogReference(DEFAULT);  // set Analog Reference value to default of VCC

void loop(){
  int y_val;
  y_val = analogRead(A1);
  Serial.print ("Y = ");

Any help will be greatly appreciated.


I am guessing (but it is an educated guess) that you need a pull down resistor to keep it from floating.

Thanks for the reply... I'll try that out...

However, I'm just wondering why the other axis doesn't react in this manner, or why the documents I referenced don't mention the need for a pull-down resistor on the inputs.

Can anyone better explain how these devices work? Maybe I'm a little clueless...