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 ...
Code:
Python code for PC:
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:
Great!!! Thanks for sharing ;-)
ReplyDeleteHi, 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)
ReplyDeleteCefn
http://shrimping.it
Thanks !!! it cool !!!
ReplyDeleteWhere you buy this touchpanel ?
Regards
It cool!!!!
ReplyDeleteLook 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?
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.
ReplyDeleteRegards
nice work @ Green Goo... :-)
ReplyDelete@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...
Can this be easily converted to Wacom RF digitizer modules?
ReplyDeleteI suspect that a serial output is necessary for this to work. Correct?
Great project.
Thanks
Nitrous
Hello Vinod,
ReplyDeleteGreat 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
Wow, thanks for sharing all this information , i wanna try to make this device at this moment, thanks a lot man.
ReplyDeletehow to install script in pc
ReplyDeleteand in device
This comment has been removed by the author.
ReplyDeletehello 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
ReplyDeletehttp://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=1056287#1056287
Very cool device, interested in seeing more of it.
ReplyDelete- http://custompcstuff.blogspot.com/
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
ReplyDeleteAny 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!
ReplyDeleteCool project bro :D what is the touchpad (for what phone?) model and price ?
ReplyDeleteI 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
ReplyDeletei m not using ATtiny13
ReplyDeleteinsted of that i m using ATmega16
in atmega external crystal is needed....
so can i use 16MHz crystal to run this?
this is great, i got syntax error in line 4 of python code , please help me to resole it . thanks
ReplyDeleteWould love to feature some of your blogs on my website! The Electronic Connection! Very intuitive and interesting. www.everythingyouneeds.com
ReplyDeleteHai vinu,
ReplyDeletei 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)
Nidhin: You can implement it as wired usb hid using some controller having usb hardware / software usb stack like Vusb for avr.
ReplyDeleteAlso you can implement it as bluetooth HID .
Hi very interesting work!
ReplyDeleteIs 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!!!
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!
ReplyDeleteBest 7 Inch Tablet
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.
ReplyDeleteVery nice technology, your invention very cute and user friendly, where can buy this product in market??
ReplyDeleteArun
bizbilla.com
hello Vinod, nice work
ReplyDeletei was wondering,
can this code be used on raspberry pi ???
Thanks it cool
ReplyDeletePlease
Where you buy this touchpanel ?
Regards
can we write PC code in Java instead of python
ReplyDeleteMouse 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.
ReplyDeleteHi Sir,
ReplyDeleteWhat software have you used to program ATtiny13
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
ReplyDeleteThese 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
ReplyDeleteGreat job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too. large
ReplyDeleteThis is one of the best blogs on the internet. Really informational and amazing content. 72nd Independence Day 2018 Slogans And Quotes in Tamil
ReplyDeleteSome 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.
ReplyDeleteData 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
The blog is good.im really satisfied to read the blog.keep sharing like this type of information.thanking you.
ReplyDeletemobile service center in velacherry
mobile service center in vadapalani
mobile service center in porur
best mobile service center
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.
ReplyDeleteCheck out : big data training in velachery
big data analytics training and placement
big data training in chennai chennai tamilnadu
big data workshop in chennai
ReplyDeleteExcellent 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
Good job and thanks for sharing such a good blog You’re doing a great job. Keep it up !!
ReplyDeletePMP Certification Fees | Best PMP Training in Chennai |
pmp certification cost in chennai | PMP Certification Training Institutes in Velachery |
pmp certification courses and books | PMP Certification requirements |
PMP Training Centers in Chennai | PMP Certification Requirements | PMP Interview Questions and Answers
ReplyDeleteThe content is very useful for me and very interesting. Surely, this post is very valuable for all readers...
Primavera Training in Chennai
Primavera Course in Chennai
Tableau Training in Chennai
Spark Training in Chennai
Power BI Training in Chennai
Excel Training in Chennai
Oracle Training in Chennai
Oracle DBA Training in Chennai
Social Media Marketing Courses in Chennai
Really happy to say your post is very interesting. Keep sharing your information regularly for my future reference. Thanks Again.
ReplyDeleteCheck Out:
reactjs training in chennai
react training chennai
react js interview questions
Indonesia
ReplyDeleteninonurmadi.com
ninonurmadi
youtube
Peluang Usaha
lampung
kursus
ipad
lampung
ReplyDeleteGet 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
nice blog
ReplyDeletedevops training in bangalore
hadoop training in bangalore
iot training in bangalore
machine learning training in bangalore
uipath training in bangalore