Home | Product Categories | Monochrome | LCD-08977

Nintendo DS Touch Screen

sku: LCD-08977 RoHS Compliant

Description: This is a 4-wire analog touch screen originally designed for the Nintendo DS. Add this touch screen to any LCD you want! Readings are taken by putting 5V across two of the pins and doing an analog to digital conversion on the other two pins. Full X and Y position can be achieved with only 4 GPIOs.

Check out our touchscreen tutorial!

Dimensions: 2.2 x 2.75"

Documents:

Pricing

In stock

9.95
8.96
7.96

526 in stock

price
10-99
100+



Add to Wish List


Comments 32 comments

  • If you are carefully you can sold four thin wires to he connector. The consumption when applying 5v is about 6.5 to 12 mA, is a very versatile device and its prize cant be better!!!!

  • Anyone used one of these? which 2 pins are for 5V and which 2 do you take the readings from?

  • Hi all,
    Hope this helps : I wrote a tutorial, with wiring schema and a working piece of code. If’s you’re interrested, with that you should see you touch position on your serial port within an hour.
    http://kalshagar.wikispaces.com/Arduino+and+a+Nintendo+DS+touch+screen

    • Thank you for the tutorial! It helped a lot.
      I would like to point out that the analogRead() method on the Arduino doesn’t know about pins 14-19; those pin numbers are only recognized when you want to use the analog pins with digitalOut().
      Japalan uses the “true” pin numbers (14-17) and then subtracts ‘14’ from those values when he uses analogRead() so that analogRead() gets numbers in the range it can deal with (0-3).
      Not all that hard but confused me for a bit…
      Also, I’m not quite getting full ranges of values. A touch at the very edge of the screen is giving me a reading of about 60 (out of 1024 max analog input). I’m wondering if it’s worth bounding these results…

  • jamis: Also, I’m not quite getting full ranges of values. A touch at the very edge of the screen is giving me a reading of about 60 (out of 1024 max analog input). I’m wondering if it’s worth bounding these results…
    I ended up using this screen with Japalan’s resistive values and after bounding the results between 90 and 690 on the x-axis and between 120 and 720 on the y-axis, I was able to get a good 600x600 square of useable values.
    I may put up a PIC tutorial/example after I clean up some of the code I have. I wrote the code using the Picc Lite C compiler…

    • That would be great if you could post a tutorial, or even just your working code.
      Im trying to get this working on a PIC18f452 but its just a little over my head at the moment.
      cheers,

  • Is this any different from the one at DealExtreme?
    The price over there is 4x less than SFE’s.
    http://www.dealextreme.com/details.dx/sku.3245

  • Any idea what the power consumption is when applying the 5V?

  • Why are four GPIOs needed? Seems to me that if your goal of using more than two lines is to conserve power by powering the device intermittently, you should only need three lines, right? Where’s the DATA SHEET?

  • Very nice find.. Any chance at getting a surface mount PCB connector for this part? Sweet.

    • If you use scissors very carefully on the connector, the leads spread enough to solder easily to any sort of adapter. I used a SSOP to dip adapter.

  • It’s not strange that this type of touch screen requires four GPIOs. The four wires are from top, bottom, left and right side of the screen. While supplying 5V on the top side wire and 0V on the bottom side wire, you can sense the vertical position by analog voltage output of left and/or right wires.

  • Does anyone know if this fits the LCD-00710?

  • Does anyone know if this will work if it is bent in a U shape? I want to use it with a display about half this size in a space-constrained device. I’m worried the bend area will produce false positive readings.

    • This thing is made up of two sheets of plastic. The top layer is thin and flexable but the backing is hard plastic. It feels like this thing will crack if it’s bent at all…

  • Any idea what the size of this screen is (in pixels?) I’m trying to figure out a formula to determine the pixel location from the value of the analogRead().

  • I found a nice tutorial here on how to use this with the arduino.

  • @Tycho
    ARGH! I HATE that tutorial! It tells you to use resistors, etc. which are ABSOLUTELY not necessary. Here’s a better “tutorial” (The code explains what’s going on and how to wire, etc.), posted on the Arduino.cc forums:
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1243499684/7#2

  • Will it work with 3v ?
    A datasheet would have been good…

  • It would be nice to have a breakout board for the MAX11800 to drive this thing. Nicer (digital) interface, better accuracy, and the MAX11800 is a pain to solder (TQFN package).

  • Ok this is for a Nintendo DS(NDS) LITE not NDS ok guys…
    Does anyone have a PINOUT for the NDS REGULAR?

  • As a warning, this connector is very fragile. I managed to abrade the coating off the larger copper traces and solder to them, and had a working touch for a short while. But flexing that connector seems to weaken the copper trace, and now one of the traces is open, making the device pretty useless.
    Do yourself a favor and get one of these, too: http://www.sparkfun.com/commerce/product_info.php?products_id=9170

  • djmitche: _As a warning, this connector is very fragile. I managed to abrade the coating off the larger copper traces and solder to them, and had a working touch for a short while. But flexing that connector seems to weaken the copper trace, and now one of the traces is open, making the device pretty useless.


    Do yourself a favor and get one of these, too: http://www.sparkfun.com/commerce/product_info.php?products_id=9170_


    I did. Didn’t help much, the connector broke anyway. I IS fragile, I can confirm…

  • I got one of these a few months ago and just started playing with it. The touch is very linear in the X direction (the short side) but is very non-linear in the Y direction. If I touch with a stylus about 1/5 of the way up the length (Y) the voltage varies based on where in X I touch. On the right hand side the voltage rises very quickly as I move in Y then not much at all near the top. On the left hand side the voltage rises linearly with distance. The only way for me to calibrate this away is by forcing the user to tap many points which makes it useless.


    Do I just have a bad screen or are they all like this? If it is just a bum part, I’ll order another and remember to fully test it out before letting it sit around.

  • The breakout connector really DONT fits on the touchscreen connector, it don’t get contact and the board gets out of it with any LITTLE moving. Can’t read data…

  • Yes. The problem was that I got a bad touch screen. I ordered another and the new one behaves as expected. Linear in X and Y. The new one has about 1K resistance in the Y direction instead of 2K and about 350 Ohms resistance in the X direction instead of 300.

  • If anyone is interested I wrote a small, simple tutorial that shows how to get these working with Arduino – http://wp.me/pQmjR-1dL

  • Anyone know how hard these can be pressed on (with a supportive backing)?
    I want to add pressure sensitivity to the assembly and I want to make sure this can withstand some meaty index finger jabs.

  • I wrote something I regret. Please delete.

  • Super fragile, I broke it as soon as I put it back in the box it came in… thin hairline cracks along one side.

  • Where can I find a part number?

  • It works! A little tricky with a PIC micro though…
    http://www.youtube.com/watch?v=Xv2fuZ14lGk