thinkpads.com Support Community Forum Index Bill Morrow's thinkpads.com Open Forum - The Original Thinkpad Support Forum
Follow ThinkpadsForum on Twitter
Goodbye Lorita, wherever you've gone..

If you've found this forum useful, please consider donating a dollar or two

It is currently Wed Mar 29, 2017 11:57 am

All times are UTC-05:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Sat Aug 17, 2013 4:28 am 
Offline
Freshman Member

Joined: Wed Jun 29, 2005 6:35 am
Posts: 100
I hooked up a TrackPoint to an Arduino microcontroller and am now able to use it like an external USB mouse.

Features:
  • Adjustable sensitivity with slider.
  • Middle button scrolling.

Details may be found on GitHub.com:

https://raw.github.com/feklee/usb-track ... ircuit.jpg (1500x800; 193KB)

Admin edit: Changed large inline image to link. Please keep images <50KB and also post a PIC warning in subject line.


Top
   
PostPosted: Fri Apr 18, 2014 6:15 pm 
Offline

Joined: Fri Apr 18, 2014 9:10 am
Posts: 5
Location: London UK
Hello Felix,

Firstly, thanks for putting your library up on Github, the Trackpoint is a great input device; I had almost lost hope, until I found your post here.

I am trying to connect an IBM Trackpoint to a Teensy 3.1.
As I understand things, I can load your usb-trackpoint code.ino file, and reference the arduino-trackpoint library?

In the code.ino file I can define the Pins for the Teensy, you have:
Code:
Trackpoint trackpoint(3, // CLK
                      9, // DATA
                      12); // RESET

I guess I can connect CLK & DATA to any digital pins on the Teensy; I am not sure which pin to connect the RESET to?

In your Readme for arduino-trackpoint you mention:
Quote:
This library only supports interfacing with the TrackPoint in remote mode; For a library that supports stream mode, have a look at Cong Nguyen’s arduino-trackpoint-extended.

I don't understand the difference between Stream Mode & Remote Mode; all I want to do is use the Trackpoint as a USB mouse, and maybe as a Up/Down scroller, and Left/Right text cursor control.
Can you suggest which way I should go, please?

Thanks,
:o)
Carlos


Top
   
PostPosted: Sun Apr 20, 2014 1:27 pm 
Offline
Freshman Member

Joined: Wed Jun 29, 2005 6:35 am
Posts: 100
rootScript wrote:
Firstly, thanks for putting your library up on Github, the Trackpoint is a great input device; I had almost lost hope, until I found your post here.

It’s great to hear that the little project is useful to others!

Quote:
As I understand things, I can load your usb-trackpoint code.ino file, and reference the arduino-trackpoint library?

Absolutely, or you use the new library by Cong (stream mode).

Quote:
I guess I can connect CLK & DATA to any digital pins on the Teensy; I am not sure which pin to connect the RESET to?

You only need digital pins.

Quote:
I don't understand the difference between Stream Mode & Remote Mode

In remote mode, the Arduino drives the TrackPoint controller’s CLK pin. In stream mode, the CLK pin is connected to an interrupt pin on the Arduino, and the TrackPoint’s controller initiates communication.

Quote from the TrackPoint System Version 4.0 Engineering Specification: "Stream mode is the TrackPoint controller's normal operating mode."


Top
   
PostPosted: Tue Apr 29, 2014 9:39 am 
Offline

Joined: Fri Apr 18, 2014 9:10 am
Posts: 5
Location: London UK
Hello Felix,

Thank you for the link to the TrackPoint System Specification, it seems that the Trackpoint is 5V
The Teensy 3.1 I am using is 3.3V. After I connect the CLK & DATA pins from the Trackpoint to the Teensy pins 3 & 9, should I power the Trackpoint with a separate 5V or do I need to have a common ground with the Teensy? (I do have some 3.3V/5V logic converters and a 3.3V voltage converter that can up to 5V, if needed)

I managed to to solder a trackpad to some pins, but I think I may have damaged the tracks.
https://plus.google.com/u/0/photos/100733156937197195649/albums/6007709228907697425/6007709281397460018?pid=6007709281397460018&oid=100733156937197195649

When I pulled away the plastic cable, I ripped a little of the metal track too. How did you manage to remove the orange plastic flat cable from the board?

I was wondering if there was a chemical I could use to melt the flat ribbon cable away in certain places, in order to expose the metal wires inside.
I just got another Trackpoint from an brand new replacement keyboard. Here is a link to the Google+ album:
https://plus.google.com/u/0/photos/100733156937197195649/albums/6007683638282465889

The IBM Trackpoint board has 127340 RevC printed on it.


Top
   
PostPosted: Tue Apr 29, 2014 4:16 pm 
Offline

Joined: Wed May 08, 2013 8:13 am
Posts: 19
Location: Adelaide, Australia
rootScript wrote:
The Teensy 3.1 I am using is 3.3V. After I connect the CLK & DATA pins from the Trackpoint to the Teensy pins 3 & 9, should I power the Trackpoint with a separate 5V or do I need to have a common ground with the Teensy?


According to Teensy 3.1 schematic, 5V from the USB micro connector is connected to a header pin with label VUSB, so you can power the TrackPoint with that. Note the 500mA fuse.

You will need to use voltage logic level converters for data and clock lines as they are bidirectional. Reset line isn't, and a 'high' on a 3.3V system is high on a 5V one so it can directly connect to any pins on your Teensy.

You can use sand paper to remove the orange plastic insulator.

_________________
I need more keyboards to play with :|


Top
   
PostPosted: Tue Apr 29, 2014 5:47 pm 
Offline

Joined: Fri Apr 18, 2014 9:10 am
Posts: 5
Location: London UK
Hello rampadc,
Firstly, thank you for your help, it is very much appreciated !
rampadc wrote:
rootScript wrote:
The Teensy 3.1 I am using is 3.3V. After I connect the CLK & DATA pins from the Trackpoint to the Teensy pins 3 & 9, should I power the Trackpoint with a separate 5V or do I need to have a common ground with the Teensy?
According to Teensy 3.1 schematic, 5V from the USB micro connector is connected to a header pin with label VUSB, so you can power the TrackPoint with that. Note the 500mA fuse.
OK so I can power from the VSUB pin, and use any GRD pin on the Teensy 3.1, I don't understand what you mean with the 500mA fuse
rampadc wrote:
You will need to use voltage logic level converters for data and clock lines as they are bidirectional. Reset line isn't, and a 'high' on a 3.3V system is high on a 5V one so it can directly connect to any pins on your Teensy.
I have never used an LLC but I do have one that I bought just in case :
https://www.sparkfun.com/products/11978

From what I understand I power it with 5V on the high side & 3.3V on the low side:
Image
Image

If that is not suitable, I also have a dual bi-directional PCA9306 Level Translator, it says it is for I2C & SMBus:
https://www.sparkfun.com/products/retired/10403
Image
Which do you think is suitable?

rampadc wrote:
You can use sand paper to remove the orange plastic insulator.
Excellent, I will try some fine wet & dry sandpaper.


Top
   
PostPosted: Wed Apr 30, 2014 6:37 am 
Offline

Joined: Wed May 08, 2013 8:13 am
Posts: 19
Location: Adelaide, Australia
Firstly, it's VUSB and GND. Secondly this is the Teensy's schematic: https://www.pjrc.com/teensy/schematic.html.

Thirdly, use the LLC. I2C and PS/2 are completely different.

_________________
I need more keyboards to play with :|


Top
   
PostPosted: Sat May 03, 2014 8:47 pm 
Offline

Joined: Fri Apr 18, 2014 9:10 am
Posts: 5
Location: London UK
Hello Felix (feklee),
The TrackPoint module working fine with your library, I am more than happy - THANK YOU
Can I also ask how you connected up the mouse buttons; I would like to add 3 external buttons to use with the TrackPoint. I am looking for some very light micro switches to use for the mouse buttons, can you recommend any particular part? (I have tried5 of the standard Adafruit/Sparkfun stock, but all of them are a bit stiff).

If I wanted to scroll a page, or move a text cursor left/right with the TrackPoint, is this possible too?

Also Cong (rampadc),
I really appreciate your input - THANK YOU.

Just a small note regarding the Logic Level Converter & the Logic Translator.
The LLC works fine, but I tried the LT too.
Even though the specs say "PCA9306 Level Translator is for I2C & SMBus", it appears to work with the PS/2 signal as well.

The Teensy docs say "All the digital capable pins on Teensy 3.1 are 5 volt tolerant." However when I connect to digital pins without a LLC or LT the TrackPoint does nothing

Just to be complete, I have posted a question regarding Teensy 3.1 digital pin tolerance at this link:
http://forum.pjrc.com/threads/25722-Teensy-3-1-Logic-Level-5V-tolerance

:o)
Carlos (rootScript)


Top
   
PostPosted: Mon May 05, 2014 6:40 am 
Offline

Joined: Fri Apr 18, 2014 9:10 am
Posts: 5
Location: London UK
from PaulStoffregen at forum.pjrc.com
Quote:
The pins with both analog and digital functionality (pins 14 to 23) are 5V tolerant, even when operating as analog inputs.
But anything over the reference voltage, which is 3.3V by default but can be configured for 1.2V, will read as the maximum value (1023 in the default 10 bit mode). Applying 3.4 to 5.0 volts to those pins will not damage the chip, but you can't read the voltage other than knowing it's over 3.3V.
http://forum.pjrc.com/threads/25722-Teensy-3-1-Logic-Level-5V-tolerance?p=47139&viewfull=1#post47139

I have moved over to the pin ranges suggested:
Code:
Trackpoint trackpoint(
17, //TrackPoint DATA
16, //TrackPoint CLK
14); //RESET
But the TrackPoint doesn't respond (without the Logic Level Converter (LLC)).

So I tried removing the LLC from either the DATA or CLOCK, separately.
It seems that the TP_CLK only works through the LLC, to Teensy pin 16.
The TP_DATA is ok to connect straight to the Teensy pin 17.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC-05:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited