Arduino Library for TrackPoint

Following Felix Klee’s work on the TrackPoint, I extended the library and add support for stream mode, with the cost of an interrupt pin on the Arduino.



ThinkPad Keyboards as USB Keyboards

Anyone who has used a ThinkPad would say they love the keyboard, because well, it’s the closest thing there is in the laptop market to a full-fledge desktop keyboard. Tactile response, curved keys that fits right into your typing fingers, business as well as consumers love using them.

I have always loved using my family’s ThinkPad T60. I love the classic keyboard layout. In 2012, Lenovo decided to jump to the chiclet island style keyboards. It was a bold move, but the performance is great. I have a T430 myself. Good laptop, a big chunky, a bit expensive but I bought it out of loyalty for the keyboard.

Buying the T430 was a turning point in my fondness towards Lenovo though. I only buy ThinkPad’s because I love their keyboards. So, armed with the skills to build electronics circuits and microcontroller programming, I decided build an adapter, a USB adapter for my T60 keyboard. Remember that I am very fond of the T60’s classic layout.

I started the project around early 2013. With my existing knowledge of MSP430 platform, I decided to use it for USB applications. So far so good, let me show you a video of what I did in late 2013.

Back then, I was using an Olimex MSP430-T5510, some n-MOSFET voltage converters and a lot of wires to connect the development board to a adapter I made for the T60 receptacle. A lot of problems were introduced: wiring problems. Thus, I decided to make PCBs. Now, I’ve made several revisions of the adapter.

T60 PCB revisions

Currently, ThinkClamp v0.5 (reason behind the name later) supports remote wakeup, TrackPoint, Numlock detection and switching with the FN key and best of all, full scanning support of the T60 keyboard matrix. Still a lot of work to do: performance improvements as well as adding features and maybe providing supports to other ThinkPad keyboards that share the same receptacle.