Laptop touchpad as a standalone peripheral

[Viktor] is working on salvaging parts from a dead laptop. In his eyes the biggest gem to be had is the touchpad, so he set out to see if he could make the touchpad a standalone device. You might be envisioning the many hells of interfacing this with a microcontroller and writing firmware to measure and translate the input to HID compatible commands. The good news is it’s quite a bit simpler than that, with just one gotcha.

He looked around to see what he could find about the chip that drives the touchpad. He couldn’t locate an exact match, but a datasheet from a similar family of controllers make him think that there should be a PS/2 data and clock output from the chip. After probing the test points on the board he found them, as well as the voltage and ground rails. Above you can see he soldered an old mouse cable to the board and it works when plugged in.

But we did mention the gotcha. There doesn’t seem to be any support for the right and left buttons. Those were housed on a flexible PCB which attached to the white connector seen above. That PCB also connected to the computer so we don’t know if they will work with this hack or not.

Comments

  1. zaprodk says:

    Old hack, done that 10 years ago. I’ve yet to scrap a computer that uses a USB-based Touchpad – all i have tried so far is PS/2-based. He can use the buttons for sure! – The FFC cable routes the buttons to the touchpad controller and the PS/2 signals from the touchpad to the motherboard….

    • kernelcode says:

      Seconded! Using one right now

    • acomputerdog says:

      Yeah, i have 2 wired like this right now, i was working on a sort of semi-tablet with one of them for a while.

    • Tony says:

      About 3 years back I gutted an old Mac laptop of some kind and wired up the touchpad to a USB cable and plugged it in to a PC. It was recognised as a USB device, but couldn’t find a driver for it.

      • Dave says:

        What about the Bootcamp drivers?

      • Tony says:

        Yeah, that would probably work. I didn’t think of it back then.

      • Stone says:

        I did exactly this four or five years ago with the top shell of a Macbook that I got off eBay for $15. Power and ground test points were easy to find by trace inspection; I then identified the data lines by attaching each test point in turn to D- with the cable plugged into a Windows machine and waiting to hear the ‘failed enumeration’ noise (as pulling D- high indicates a low-speed device is connected). Once I had D- correct D+ was easy to find by the same process. The trackpad had test points for all of these signals so splicing on a USB-A port was easy.

        It enumerated as a composite device and the keyboard worked immediately, though the trackpad was more of a mixed bag since its button was non-functional and the Boot Camp drivers of the time didn’t support tap-click. From a cursory Google search it appears Boot Camp 3.0 (came with Snow Leopard) does support this now so I may dig it back out of the scrapheap :-)

  2. Gilliam says:

    Ive wanted to do this and embed it into my desk.
    laziness, distractions, blah blah… i haven’t done it yet.

  3. kakureru says:

    once again, hackaday ignores one of my video from waaaaaaaay back when I originally submitted it.

    follow the links in the description of the video to see the revisions.

  4. Mantech1 says:

    That’s a nice way to make use of a dead laptop, any plans for the rest of the parts?

    Though I wonder, since the buttons don’t (currently) work, does tapping the touchpad work?

    • Greenaum says:

      Just to add this 2 years later…

      Mice in Windows AFAIK work in parallel. So connect up another mouse to a USB hub and use it’s buttons. You could cannibalise some of the very cheap mechanical mice they still make, for the buttons. Case it all accordingly.

  5. I have one laying around in my scrap projects bin. Works flawlessly on a PS/2 interface and was a matter of about an hour, with most of it hunting down a datasheet and verifying the pinout.
    And the buttons even work.

    It’s certainly nice for him he got that working and I appreciate it if people salvage parts instead of just throwing them away. This is also a great beginner’s project as it is overseeable and provides a quick return in success.
    But on the hackaday homepage it really stands out as trivial among most anything else.

    Maybe you could make a category with hacks that would be great for beginners. Ones that don’t require too much knowledge, time, equipment and can be had cheaply.

  6. b1r6m4n says:

    Does it interpret taps and 2-finger taps as clicks like most any modern pad? Hopefully that chip will interpret that and send it down PS/2!

    • kernelcode says:

      I found with mine, that if I connected it directly to a real PS/2 port, then I could use multitouch capability (two finger scroll, three finger right click), but if I went through a USB converter I couldn’t. I assume that the multi-touch signals were unknown to the USB converter, and so it just ignored them.

      • Megol says:

        USB converters converts the PS/2 protocol to USB HID. As there’s no way to directly communicate with the PS/2 touchpad it will stay in mouse emulation mode which (on the devices I’ve tested) doesn’t support any multitouch gestures. Single taps and side scrolling tend to work at least on more modern pads.

  7. deadlyfoez says:

    I had a touchpad that I had saved to be able to do a hack like this at some point in time, but now that I go looking for it I can’t seem to find it. I must have tossed it out :(

  8. agent420 says:

    Featured touchpad AVR hack from 2009:
    http://hackaday.com/2009/07/20/touchpad-and-vfd-hacking/

    These are very straightforward.

  9. bootdisc says:

    This is one vary old hack, made mine 8 years ago from a synaptics touchpad out of a dell and i would be using it now if any of my computers still had a PS/2 port.

    Don’t worry if you cant find any documentation for a particular model touchpad, PS/2 is only 4 wires so its easy enough to guess the pinout through trial and error.

  10. NewCommentor1283 says:

    im suprised.

    everyone have the same exact chip in all different laptops ???

    or do they *ALL* just use regular ps/2 protocol inside the laptop ???

    what im asking is does the chip have dualprotocol/dualport ?

    • kernelcode says:

      Makes sense doesn’t it? Basically all chipsets will have a PS/2 controller, no point in reinventing the wheel! Synaptics make the vast majority of touchpads, and all are very similar.

      I would’ve thought newer ones might connect via USB (internally), but like mentioned above, I’ve not stripped down a new enough machine

  11. parkerlreed says:

    So it turns out I have almost the same pads as he does. Different locations but all the pad numbers were the same. Had to use a continuity tester to figure out what wires were what. Weirdly enough red was GND in this case. Thanks for inspiring me to dig this out and do this. http://i.minus.com/iQToECP4vQpgC.JPG

  12. djpc47 says:

    I’ve done this myself at least 2 times previously;P… the really nice thing about the touch pads is that ps/2 is fairly solid(on older boards anyway) and so even without datasheets, long as you find the power traces/contacts the rest can usually be guessed without frying anything…tips: usually the lead with the thickest trace on pcb going to the zif header is positive and the biggest piece solid copper on pcb is grounding / negative…. have dmm near by and guess at your own risk; use an older box you can afford to throw out:P…

  13. Andrew says:

    You know, you could always just RTFM:

    http://www.synaptics.com/decaf/utilities/ACF126.pdf

    There are pinouts for the connector, and details of how the buttons work (just ground the button pin).

  14. Rachie says:

    I made a similar touchpad hack a few years back.
    http://spatulatzar.com/touchpad/

  15. Mr Think T. Pad says:

    Where is my standalone mouseclit?

    • RBR says:

      I would actually like to see that one done.

      • kernelcode says:

        You know the biggest problem I’ve had with a touchpad is getting it to stay put on my desk – I can imagine it being soooo hard to get a nipple to be fixed enough to be useful!

        Incidentally, anyone got any good ideas for how to keep a very lightweight touchpad from moving?

      • Tony says:

        A squishy and slightly tacky pad of silicone rubber stuck on the underside should work. The only problem with that sort of thing is that they will get lots of dust stuck to them if you are always shifting its position.

      • kernelcode says:

        Yeah… I’ve being trying stuff like that. Unfortunately the state my bench is in, it gets dirty and slippy pretty quickly

        Maybe I just have to stop living like a pig

  16. Sven says:

    It makes sense that the more modern touch pad controllers would be compatible with both USB and PS2, there are the same number of pins and they both run off 5V. There are already tons of mice and keyboards that are dual protocol, they simply need a pin adapter to work with either.

    I have been thinking of doing this with a trackpoint, i just need to make a wireless PS2 bridge first. My plans are to make something that looks like a joystick handle with the trackpoint in the top and 2-3 buttons on the side.

  17. I used this same technique in my second Ultimate Calculator build, in which (among many other things) I embedded a PS/2 touchpad in the back of a TI-83+. http://www.cemetech.net/projects/ee/ucalc2/

  18. conundrum says:

    Someone needs to make a USB to PS2 converter, maybe use one of the low end micros such as the 16F628?
    This has been done, its not like it needs USB V2.0 for such a low powered device.

  19. Thomas says:

    @ deadlyfoez -> I was disassembling Yesterday my Notebook HP Pavilion zv5000 (PP2200). I found a Touchpad with an ALPS Controller 1ca022a on the PCB.
    With try and a little error i found the Pinout for this IC. You can find the pinout description on this url:
    http://home.arcor.de/thomas.steffens/images/compute/1ca022a_Pinout_ALPS_Touchpad_controller.jpg
    I’ve soldered an old PS2 Mouse Wire on this IC and now i have an Stand alone Touchpad.

  20. Mira says:

    1ca022a pin Vcc ??? or GND??? my board 56AAA1967A

  21. Mira says:

    PIN33 GND OK , PIN 47-48 NOT GROUND

  22. Lukas says:

    great Job

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,149 other followers