Got a couple of additions to the junk inventory this weekend, a dead Dell Insprion 1100 and a defunct HP Laserjet 4. The touchpad in the laptop and the VFD board in the printer caught my eye, so I decided to see if I could get them to be friends... The only chip I'm using on the breadboard is the Atmel AVR microcontroller in the center, the rest of the parts are leftover from testing my stepper driven Etch-A-Sketch project. Turns out that most Synaptic Touchpads used in laptops communicate via the standard PS2 protocol, using the same wiring scheme as a conventional mouse and keyboard. The pad could probably be wired to a pc and operate as a mouse without any special drivers. But as PS2 is not a common protocol used in microcontroller applications, I had to write my own interface code for the Atmel 8535 AVR I planned on using. Fortunately, the PS2 protocol is not that complex, and references describing it are easily located on the net. Synaptics also has a very good interfacing document available for download that details the electrical interface and the commands used to control the device. Here's the connections on the back of the touchpad (pins function in pairs)... Note that other models may have a different pinout (see guide). The VFD control panel turned out to be a bit more elusive, but after some detective work with a multimeter and the datasheets from the chips on the board I was able to determine how it operates. It's actually a great little board with a nice 16 char VFD, 3 programmable leds and 8 buttons - it makes a great testbed tool and requires only a single +5V supply. The VFD is also a nice change from boring everyday lcd displays (it's the tubes, man ). Here's the VFD board displaying the coordinates of the touchpad: While working on this project I wondered if I could get the pad to operate like a qWheel type of device, like used on the iPods. Well,a little bit of geometry math coding later and tada, rotary encoder emulation. Here's the VFD displaying a bargraph indicating input from circular motion on the pad: This feature and the ability to devide the pad into multiple zones makes it a great input device for projects. Uses can be fan speed controllers, light dimmers, etc.; the possibilities are endless! It turns out that the touchpads and this model VFD board are available and inexpensive in the surplus market or eBay, making them great experimenter devices. Unfortunately, neither will natively hook to a pc through parallel or serial interfaces, so a microcontroller has to be used. However, if the interest level in a project using these is there, I might design and offer inexpensive interface boards that would translate the PS2 to RS232 or similar. Here are some resources I used for this project, as well as the source code I wrote that is well commented and contains additional technical information: Synaptics Developer Resources - Interfacing Guide available here Mitsubishi M66004M VFD datasheet (pdf) PS2 protocol My source code edit - updated dead Synaptics link edit 2 - made Hack-A-Day
wow that realy cool. are you thinking of putting the touch pannel in a computer case. would look real nice. and i love vacume displays that look so much more "high tech" than lcd's
Thanks Yeah, mounting the pad in a drive bay or similar and using it to control lights and fans is one of the several potential applications I've considered. Pad input would determine multiple channel pwm output from the AVR. In this case, I was thinking of having the four corners of the pad as button type selection zones to choose the device to control, with the center area of the pad emulating a qWheel or qSlide for analog style input.
That's awesome, thanks for documenting it so well! Have you considered using a 20x4 LCD instead, to get more characters? With that inspiration, I'm going to IT right now to see if they have any "dead" laptops spare... ch424
Awesome work, I love microcontrollers. I was thinking; how about hooking the trackpad to your stepper controlled ecth-a-sketch? Might be cool!
I typically do use multi-line lcd's in my projects, especially during design and debugging to allow as many variables and pin states as possible (not that I ever make design or code mistakes ) However, I used the VFD board here for the challenge of figuring out how it worked, as well as aesthetic value. Actually, the buttons on the control panel were very helpful; if you look at the code you can see that several buttons select the different information to display, so I could cycle between screens based on what I was testing. [edit] btw, I note that there are several of these boards (ans similar ones) on eBay
Funny you should mention that... The last test of the Etch-A-Sketch used hacked ball mouse to draw. Before I coded the PS2 interface I just hooked into the optical encoders on the mouse board and used that data to move the steppers. Worked very well. Probably better than PS2 because I wasn't limited to the PS2 sample rate and could go as fast as the hardware permitted, also no overhead of command bytes or other header data. The long term plan is to take a scanned image on pc and replicate it on the Etch-A-Sketch, but I've been slacking recently (too much time jamming with the garage band ) [edit] btw, the EAS toys they sell today (made in China) really are shoddy compared to the US made ones I remember as a kid... I'll probably have to open it up and redo the string cable inside, it keeps 'twanging' and getting hung up. Every unit I tried in the store was the same way...
Ah, I see. IT didn't have any laptops Well, they had two iBooks, but the touchpad's weren't PS/2. ch424
You could probably use any of the protocols, but might need to write your own interface code. RS232 or TTL would be even easier that what I have done here, but I'm guessing that the ones you have access to are Apple ADB, of which I have absoluetly no experience with. ' The 5th character in the model number indicates the interface used. ' P=PS2, S=RS232, B=PS2+RS232, T=TTL and A=Apple ADB. Worst case scenario is to get one from a surplus shop or eBay. They're pretty cheap (well, most of them).
that was truly excellent, thank you. You've got some synapses firing in my head, the touch pad to microcontroller bit is going to be quite useful.
hello there, can u upload the picture once again? i want to know how you connected the touchpad to uc for my final project, thx before