Resistive touch screen based wireless mouse

Hi, after a long time I am updating my blog again. I bought few nokia color LCDs and resistive touchpad last month, all are chinese clones and very cheap. Then I thought of doing some thing with the touchpad at first. My previous blogpost  was a TV remote based computer mouse. So I decided to make a similar stuff using the touchpad and bluetooth...
         I have used a cheap ATtiny13 (8pins) microcontroller which runs at internal 9.6MHz clock. It samples two channel analog voltage from the touchpad. One of the GPIO pin is configured as a software uart TX (bit banging) which will stream the mouse data at a baudrate of 115200 (may need to calibrate by changing OCR0A little bit up or down) to a PC via bluetooth (HC_05 bluetooth module). Apart from the mouse cursor movement, I have implemented left click, right click and wheels on the same touch screen.
       A python script running on the pc will accept the mouse data and it will process the data and apply a smoothing filter to make the cursor movement more efficient. Right now I did the code for linux but will be easily portable by small modification in the python code.
        The only demerit is that we cannot do any multi-touch since it is a resistive touchpad.... Also it is not so easy to use with naked finger, instead a stylus is recommended for smooth operation. But any way in the video demo you can see its working fine with my finger........(I am using my fingernail ;-) ).....
       The bottom left part of the touchpad is configured as left click, bottom right as right click and 1 thickness from the right is for mouse wheel ...





Circuit diagram:
https://github.com/vinodstanur/resistive_touchpad_as_wireless_mouse
Code:
  
Python code for PC:

45 comments :

  1. Hi, there. Thinking of creating a touchscreen project. Which touchscreen did you use, and how did you wire it? (they seem to often have tiny ZIF connectors)

    Cefn
    http://shrimping.it

    ReplyDelete
  2. Thanks !!! it cool !!!

    Where you buy this touchpanel ?

    Regards

    ReplyDelete
  3. It cool!!!!

    Look my project

    http://www.youtube.com/watch?feature=player_embedded&v=ATRV4r7DLD8

    end post:

    http://habrahabr.ru/post/136297/

    I want to build devices 'Resistive touch' + 'teensy++' as HID USB Keyboard\Mouse, you can help me this project?

    ReplyDelete
  4. I can't compile the python code under windows , can you give me a compiled version (for windows) or correct the code? The error is on the 27th line.
    Regards

    ReplyDelete
  5. nice work @ Green Goo... :-)

    @cece99: I think in 27th line there is some TAB problem. Correct it or download the code from my github repo/copy it from the gist embedded above...

    ReplyDelete
  6. Can this be easily converted to Wacom RF digitizer modules?
    I suspect that a serial output is necessary for this to work. Correct?
    Great project.
    Thanks
    Nitrous

    ReplyDelete
  7. Hello Vinod,

    Great work and more than that is its ingeniousness. I had never thought of using a touch panel to control mouse. I have seen your other projects as well, all of them are unique!! I tried the mouse commands on my computer (using python) and all of them works flawless..

    Regards,
    Debraj

    ReplyDelete
  8. Wow, thanks for sharing all this information , i wanna try to make this device at this moment, thanks a lot man.

    ReplyDelete
  9. how to install script in pc
    and in device

    ReplyDelete
  10. This comment has been removed by the author.

    ReplyDelete
  11. hello Vinod, i am impressed from your work. i am working on a project based on ATmega32 and touch screen. I am facing some problem in interfacing it. would you please help me? here is my thread
    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=1056287#1056287

    ReplyDelete
  12. Very cool device, interested in seeing more of it.

    - http://custompcstuff.blogspot.com/

    ReplyDelete
  13. Hello, thanks for your projects. But I newbie in AVR..I can't understand how you compile "C" code..Please answer, what program you compile, and can you send the *hex file to me

    ReplyDelete
  14. Any thoughts on adapting this to work on an Android phone? I have my phone hooked up to my car in-dash tv and it would be nice to overlay the touchscreen on the car TV (currently no touch screen functionality) and then control my phone via the touchscreen/bluetooth!

    ReplyDelete
  15. Cool project bro :D what is the touchpad (for what phone?) model and price ?

    ReplyDelete
  16. I think if you made an iphone 5 app for this, you could make a lot of $$$. many people want to control their iphone from a large touch screen computer including me. Please email me if you do projects professionally I'd gladly pay for such functionality. service attt rentphotobooths doot coom

    ReplyDelete
  17. i m not using ATtiny13
    insted of that i m using ATmega16
    in atmega external crystal is needed....
    so can i use 16MHz crystal to run this?

    ReplyDelete
  18. this is great, i got syntax error in line 4 of python code , please help me to resole it . thanks

    ReplyDelete
  19. Would love to feature some of your blogs on my website! The Electronic Connection! Very intuitive and interesting. www.everythingyouneeds.com

    ReplyDelete
  20. Hai vinu,
    i am nidhin ,i like this project very much,actually i had this idea before,but difference is i decided to use pic18f4550 for usb connection and rest all the same function like sensing co-ordinates of touch point .
    i have a doubt on this project
    1 . y we cant implement usb mouse(hid class ) on this project making it wired ??
    i am new to python programming ,can u please explain python compiling ,which compiler u used in windows7 environment and how to compile it.

    thanks in advance
    NIDHINDAS T.S(kerala)

    ReplyDelete
  21. Nidhin: You can implement it as wired usb hid using some controller having usb hardware / software usb stack like Vusb for avr.

    Also you can implement it as bluetooth HID .

    ReplyDelete
  22. Hi very interesting work!

    Is it possible to make a basic tutorial on how to start these things.
    I've got a samsung corby screen, and want to do something alike.
    But I don't know where to start!

    Any help is appreciated!!!

    ReplyDelete
  23. I think any contemplations on adjusting this to deal with an Android telephone? I have my telephone snared to my auto in-dash television and it might be decent to overlay the touchscreen on the auto TV (as of now no touch screen practicality) and afterward control my telephone through the touchscreen/bluetooth!
    Best 7 Inch Tablet

    ReplyDelete
  24. Hello I was wondering if you could port this to android at all? I know many other people would really like this also! Thank you.

    ReplyDelete
  25. Very nice technology, your invention very cute and user friendly, where can buy this product in market??

    Arun
    bizbilla.com

    ReplyDelete
  26. hello Vinod, nice work
    i was wondering,
    can this code be used on raspberry pi ???

    ReplyDelete
  27. Thanks it cool
    Please

    Where you buy this touchpanel ?

    Regards

    ReplyDelete
  28. can we write PC code in Java instead of python

    ReplyDelete
  29. Mouse pad is for comfortable using of mouse.comfortable mouse pad provides with with the most smooth use of a mouse.The better the mouse tracks, the more you can enjoy mouse movements and working with it.A mouse pad can help you in better movement and better tracking as well.

    ReplyDelete
  30. Hi Sir,
    What software have you used to program ATtiny13

    ReplyDelete
  31. The manufacturers of consumer electronics has decided to change from the infrared technology to the frequency technology. This change will make the customers accept the new techniques.check out chrismartslaw.com

    ReplyDelete
  32. These screens frequently utilize a stylus, however you can utilize any kind of pen-like question or your finger nail. faytech - Touchscreen Display PCs and Touch Screen Manufacturer

    ReplyDelete
  33. Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too. large

    ReplyDelete
  34. This is one of the best blogs on the internet. Really informational and amazing content. 72nd Independence Day 2018 Slogans And Quotes in Tamil

    ReplyDelete
  35. Some us know all relating to the compelling medium you present powerful steps on this blog and therefore strongly encourage contribution from other ones on this subject while our own child is truly discovering a great deal. Have fun with the remaining portion of the year.
    Data Science Course in Indira nagar
    Data Science Course in btm layout
    Python course in Kalyan nagar
    Data Science course in Indira nagar
    Data Science Course in Marathahalli
    Data Science Course in BTM Layout
    Data science course in bangalore

    ReplyDelete
  36. Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.

    Check out : big data training in velachery
    big data analytics training and placement
    big data training in chennai chennai tamilnadu
    big data workshop in chennai

    ReplyDelete

  37. Excellent blog I visit this blog its really informative. By reading your blog, i get inspired and this provides useful information.

    Check out:
    best hadoop training in chennai
    big data course fees in chennai
    hadoop training in chennai cost
    hadoop course in chennai

    ReplyDelete
  38. Really happy to say your post is very interesting. Keep sharing your information regularly for my future reference. Thanks Again.

    Check Out:
    reactjs training in chennai
    react training chennai
    react js interview questions

    ReplyDelete

  39. Get the most advanced Python Course by Professional expert. Just attend a FREE Demo session.
    For further details call us @ 9884412301 | 9600112302
    Python training in chennai | Python training in velachery

    ReplyDelete