Тёмный

How to find pinout for Touchpad/Pointing Stick & connect to Arduino - Synaptics 

BusBits
Подписаться 649
Просмотров 19 тыс.
50% 1

It is very easy to identify right pins for connecting any TouchPad or pointing stick using PS/2 protocol.
I will show how to identify most important pins (Ground/GND, VCC/5V, Clock/CLK and Data) on any TouchPad or pointing stick and how to connect them to Arduino.
The device used in the video is some Synaptics TouchStyk Pointing Stick (PointStyk) that I extracted from broken laptop/notebook keyboard. Of course I could not find the pinout so I had to figure the pins out myself.
This how-to can also be used to find the pinout for other brands such as IBM TrackPoint.
PS/2 mouse code used in this tutorial:
playground.ard...

Опубликовано:

 

13 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 54   
@felixbiego
@felixbiego 3 года назад
thanks, this is what I needed T22 - 5V T23 - GND T10 - CLOCK T11 - DATA
@zeldaboch
@zeldaboch 4 года назад
thanks a lot, this video give me a BIG help. i have a touchpad that i don't know the model, but with this method i found vcc gnd Data and CLK !
@codebeat4192
@codebeat4192 5 лет назад
You are absolutely right about the pins, the same for every synaptics device. Just rescued two pads with different modelnumbers (TM214 and TM41P) and works fine! Many thanks, thumbs up for the perfect guide.
@LenkaDesign
@LenkaDesign 5 лет назад
You are welcome!
@atticusrussell1225
@atticusrussell1225 2 года назад
Amazing. Now I've just got to figure this out with an unlabeled Elan trackpad
@JesseD-hq6ne
@JesseD-hq6ne 3 месяца назад
Thanks for this video its really great. Just have a quick question. How can I know if my touchpad needs a 3.3V or 5V?
@jothain
@jothain 3 года назад
Thanks dude. So glad I stumbled into link to this video. I've been planning to create fairly small tabletop arcade. I've been thinking to add trackball for ie. ScummVM games, but I think I now might try to implement one old HP trackpoint controller to add mouse functionality in small space. This will 100% go into consideration. Thanks for the vid 👍👍
@bartvanpelt588
@bartvanpelt588 4 года назад
Thank you so much for this video, very informative, showed me almost everything I would want to know. I found this because I had the exact same part, and was trying to look at it with my newly bought logic analyzer. I put 22 to +5V and 23 to ground, and pulled up 10 and 11 with 6.8K resistors, and tried looking at the data on CLK and DATA. For some reason, it could even be a soldering mistake, although I've checked everything multiple times, both of these signals read the same, and they both look like data packets. Are you sure that 10 is actually CLK? I have seen someone on hackaday saying that you can actually read PS/2 without reading the CLK signal.
@avimahajan8881
@avimahajan8881 3 года назад
Thanksss.... This video is very informative and it helped me a lot....
@dimitrypilin3098
@dimitrypilin3098 5 лет назад
This was great, useful information. I had a broken Creative Zen Micro with a vertical touchpad by Synaptics, too bad I threw it away. I wonder if the iPod touchwheels have similiar pins. Thanks!
@LenkaDesign
@LenkaDesign 5 лет назад
Thanks
@bunnatang2081
@bunnatang2081 4 месяца назад
just connect the oscilloscope probe and read the sequence. you can see which one us clk/dat .
@VisualBasic6
@VisualBasic6 3 года назад
FOR FUTURE REF: /* * an arduino sketch to interface with a ps/2 mouse. * Also uses serial protocol to talk back to the host * and report what it finds. */ /* * Pin 5 is the mouse data pin, pin 6 is the clock pin * Feel free to use whatever pins are convenient. */ #define MDATA 5 #define MCLK 6 /* * according to some code I saw, these functions will * correctly set the mouse clock and data pins for * various conditions. */ void gohi(int pin) { pinMode(pin, INPUT); digitalWrite(pin, HIGH); } void golo(int pin) { pinMode(pin, OUTPUT); digitalWrite(pin, LOW); } void mouse_write(char data) { char i; char parity = 1; // Serial.print("Sending "); // Serial.print(data, HEX); // Serial.print(" to mouse "); // Serial.print("RTS"); /* put pins in output mode */ gohi(MDATA); gohi(MCLK); delayMicroseconds(300); golo(MCLK); delayMicroseconds(300); golo(MDATA); delayMicroseconds(10); /* start bit */ gohi(MCLK); /* wait for mouse to take control of clock); */ while (digitalRead(MCLK) == HIGH) ; /* clock is low, and we are clear to send data */ for (i=0; i < 8; i++) { if (data & 0x01) { gohi(MDATA); } else { golo(MDATA); } /* wait for clock cycle */ while (digitalRead(MCLK) == LOW) ; while (digitalRead(MCLK) == HIGH) ; parity = parity ^ (data & 0x01); data = data >> 1; } /* parity */ if (parity) { gohi(MDATA); } else { golo(MDATA); } while (digitalRead(MCLK) == LOW) ; while (digitalRead(MCLK) == HIGH) ; /* stop bit */ gohi(MDATA); delayMicroseconds(50); while (digitalRead(MCLK) == HIGH) ; /* wait for mouse to switch modes */ while ((digitalRead(MCLK) == LOW) || (digitalRead(MDATA) == LOW)) ; /* put a hold on the incoming data. */ golo(MCLK); // Serial.print("done. "); } /* * Get a byte of data from the mouse */ char mouse_read(void) { char data = 0x00; int i; char bit = 0x01; // Serial.print("reading byte from mouse "); /* start the clock */ gohi(MCLK); gohi(MDATA); delayMicroseconds(50); while (digitalRead(MCLK) == HIGH) ; delayMicroseconds(5); /* not sure why */ while (digitalRead(MCLK) == LOW) /* eat start bit */ ; for (i=0; i < 8; i++) { while (digitalRead(MCLK) == HIGH) ; if (digitalRead(MDATA) == HIGH) { data = data | bit; } while (digitalRead(MCLK) == LOW) ; bit = bit
@alexstone691
@alexstone691 2 года назад
Thank you so much, i couldn't find the code anywhere and the link has some kind of library that has no directly usable example
@thanasisathanasi4965
@thanasisathanasi4965 4 года назад
Good Normal Speaking video. No stupid music. Guess what? I GAVE A LIKE !
@eliobrid
@eliobrid Месяц назад
thank you thaank you
@TimoBirnschein
@TimoBirnschein 3 года назад
Great video, thank you!
@goodwill7643
@goodwill7643 2 года назад
keyboard itself is a key matrix, same like for Arduino. So it can be added to arduino as well.
@Atad64
@Atad64 5 лет назад
Very helpful video. Thanks.
@Swenser
@Swenser 5 лет назад
I've got a laptop that has touch pad and pointer stick not working from the very start at windows 7 and 10 install. It's enabled with fn key, So I'm expecting it's not an actual fault with those devices but fault with motherboard. Where does the data go to? Is it the super io chip? Southbridge? Cpu? Perhaps a broken track leading there? What do you think? A USB mouse works. Surely a broken track leading to other motherboard circuitry right? Z30 toshiba.
@benodaniel597
@benodaniel597 3 года назад
can you please help me..... from where can i get the whole code used here
@usergoogle7102
@usergoogle7102 6 лет назад
Very useful, thanks.
@VV-wl8gb
@VV-wl8gb 6 лет назад
Great tutorial! I have a Synaptics PS/2 touchpad from a Samsung QX411 laptop. I found schematics that show that the chip to be working on 3.3v. As you said T22 seems to be power, but there is also T16 which has 14.7ohm resistance with T22. Do you have an idea what it could be for? Maybe one is for 5v and the other for 3.3v? Thanks a lot!
@LenkaDesign
@LenkaDesign 6 лет назад
Which one is first after the connector? T22 or T16? Measuring resistance between pins does not mean anything to me. More important is to compare which pin is directly connected to the connector.
@VV-wl8gb
@VV-wl8gb 6 лет назад
Sorry, I wasn't clear enough. T22 is connected directly to pin 6 and T16 has 14.7ohm with pin 6 and T22, respectively. The pins are: 1-nothing, 2-T14, 3-T17/T23/ground, 4-T12, 5-T13, 6-T22 It's a clickpad, so it only has one button and the two mouse buttons are separated in software depending on the touchzone. The button seems to be connected to T6, but it is not connected to the pins. Do you know how the button clicks are transmitted over the PS/2 connection? Could it have anything to do withe the empty pin 1?
@LenkaDesign
@LenkaDesign 6 лет назад
I think you can connect 5v to T22. These are industrial high-volume units so the 3.3v pin with 5v should not damage the circuit. For TX and RX connect to the T pads that I stated. Button detection is described here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8Ex1pPsiTR4.html But first you need to get connected successfully the basic.
@VV-wl8gb
@VV-wl8gb 6 лет назад
Thanks!
@LenkaDesign
@LenkaDesign 6 лет назад
Let me know if it works
@arkyajyotighosh7051
@arkyajyotighosh7051 4 года назад
thank you so much brother... helped a lot.. u earned a like and a sub :-)
@Brain_pocketer
@Brain_pocketer 4 года назад
My touchpad doesn't seem to have a T22 pin. What other pinss could be used as the T22 pin? I have T23 T11, and T10 on my touchpad, but the only needed pin I'm missing is T22. The other things I have is T21, T9, and T2 pins.
@AsianTheIdentity
@AsianTheIdentity 4 года назад
did you figure it out? i also dont have T22 but i saw another video(nCrDtg5yD_w) using T20 and it worked so i'm going to try that unless i find better information somewhere else.
@Xitrial
@Xitrial 6 лет назад
I want to mod a desktop keyboard with this, is there a way to make it work with usb and not ps/2? Or will you need a ps/2 to usb converter, in that case I guess I can grab and old ps/2 cable and connect it to the pc like that. I'll be using an old keyboard from lenovo thinkpad.
@LenkaDesign
@LenkaDesign 6 лет назад
Yes. There are dongle converters, for example on aliexpress. Also, you can use arduino Pro Mini for this purpose. A lot of tutorials on youtube on this subject.
@noud8868
@noud8868 4 года назад
I would like to buy one module of this trackpoint but i cant seem to find one the internet. Where did you buy it?
@salmanfarooq8570
@salmanfarooq8570 4 года назад
The only way I have found to get one of the modules is to buy a whole keyboard, either used or new, which has this module and then scrape it from the keyboard. I bought 2 of these used/broken keyboards for a total of $2.4 from a local market. Retrieved the exact same module as is there in the video and successfully followed all that he did in the video.
@suchy.chomik
@suchy.chomik 6 месяцев назад
I can't find the ground, cuz theres no metal part exposed
@joangilventura8771
@joangilventura8771 6 лет назад
Great
@umairrehman3382
@umairrehman3382 5 лет назад
can you please provide your code?
@krishnajith
@krishnajith 6 лет назад
Bro which bord are you usin is it aedieno uno bord
@LenkaDesign
@LenkaDesign 6 лет назад
I have tested fine with Arduino Uno, Nano and ESP8266
@krishnajith
@krishnajith 6 лет назад
Lenka Design Workshop Bro i tried my acer old laptop i dont remember the model numbers but not working with uno. I have odered a pro micro also please give your wgats app no so that i couldent send the picture
@ajayjitubros
@ajayjitubros 6 лет назад
hey! i want to know if i can use raspberry pi instead of arduino/
@LenkaDesign
@LenkaDesign 6 лет назад
I dont use RPi at the moment but I am sure it's much easier. You dont need to emulate PS/2. Just connect the pins and then use Linux to attach PS/2 mouse to those pins. Alternatively, use PS/2 to USB adapter - this will help to avoid any programming at all
@ajayjitubros
@ajayjitubros 6 лет назад
There is one more question if you will. I have successfully identified voltage and ground pins. I am not able to find the clk and data pins even after whole day trying. there are about 6pins left out of total 8. Can you please help me in that regard.
@LenkaDesign
@LenkaDesign 6 лет назад
Sorry but I can't help if my tips from the video don't work
@itrini3dwan00
@itrini3dwan00 5 лет назад
hello ihave a problem whit it in esp8266
@remixislandmusic510
@remixislandmusic510 5 лет назад
How do you do this without an aurduino?
@LenkaDesign
@LenkaDesign 5 лет назад
I explained everything in the video
@krishnajith
@krishnajith 6 лет назад
How can i contact you
@153SCORN
@153SCORN 3 года назад
Require a better video on the actual installation of the code, libraries and then running it.
@benodaniel597
@benodaniel597 3 года назад
have you got the code for this??
@153SCORN
@153SCORN 3 года назад
You can find can find code on Arduino playground for connecting a PS/2 mouse to Arduino. Just make sure you connect data pin to pin that's capable of pwm.
@benodaniel597
@benodaniel597 3 года назад
@@153SCORN thankyou bro
@alivevilaalivevila6665
@alivevilaalivevila6665 4 года назад
make it move
Далее
The touchpad from the laptop. Connect to Arduino!
6:18
I put ChatGPT on a Robot and let it explore the world
15:24
laptop touchpad used on arduino
2:57
Просмотров 10 тыс.
HACKED!: Using an HDD Motor as a Rotary Encoder?!
8:21
PID Balance+Ball | full explanation & tuning
13:13
Просмотров 749 тыс.
The Brilliant Tricks Inside Telescopic Machines
11:40
Просмотров 102 тыс.
DIY Arduino trackpad
5:03
Просмотров 88 тыс.
Trackpad in a Keycap for Corne/CrKbd keyboard!
5:35
Просмотров 50 тыс.