Close

Of trackballs and trackpads

A project log for thumbMouse

Finger-mounted bluetooth pointer device using BlackBerry trackpad sensor, for avoiding shoulder/wrist pain from mouse/touchpad use.

matias-nMatias N. 08/12/2019 at 20:031 Comment

The TrackBall

I have a BlackBerry trackball module on its way to start tests with that. This module includes the appropriate hall sensors to read the rolling magnets which allow to detect the ball motion. Also, it includes a series of LEDs and a touchpad button beneath the trackball.

https://s15-us2.startpage.com/cgi-bin/serveimage?url=https%3A%2F%2Fae01.alicdn.com%2Fkf%2FHTB1BSr2JFXXXXbdXVXXq6xXFXXXn%2FICSH044A-ICSTATION-Blackberry-Trackball-Breakout-Board.jpg_640x640.jpg&sp=451957bbba26b013761e43b766f563dc&anticache=432953

After looking up some videos and reading up on its performance, I expect it to be a bit underwhelming. I've read that it can detect about 9 pulses per full revolution, which does not seem to be very much. It is actually a strange design, since the button has four magnets and four sensors, where there's actually 2DoF. For some reason, instead of designing this to have a quadrature encoder ouput (where for each axis, we have to out-of-phase square waves, thus having 4x resolution if counting all flanks), it works by only activating one of the rollers corresponding to the motion direction. This means that only one hall sensor is activated per axis motion, and simply generates pulses.

Anyway, I was more or less expecting this and I mostly want to test this to see if it is worth using in combination for a trackpad or maybe even in some other projects.

The TrackPad

When looking for spare BlackBerry parts, I saw that the trackpad is actually quite common since it was used in many more models. It is not much more expensive either. From what I've seen (it is difficult to find precise information), all trackpads work by emiting an IR light into the finger surface, which is then captured by an IR sensor which is able to compute delta motion of the surface. This is actually how old optical mouses worked. In fact, it seems that the registers it exposes actually conform with the comon ADNS3060 module.https://ae01.alicdn.com/kf/HTB1F3o9RXXXXXakXFXXq6xXFXXXv/Trackpad-Trackball-Joystick-Mid-Middle-Navigation-Home-Key-Button-Flex-Cable-For-BlackBerry-9700-9780-9900.jpg

The difficult part is that there are many different modules used in various BlackBerry phones. Some use a surface connector and others directly expose the pads, in order to insert the tip into a surface connector. Also, it is difficult to find actual pinout for each, but I managed to unify information from different pages (and, mostly, from this project https://vlukash.com/2019/01/15/trackpad-in-keycap-corne-crkbd-keyboard/ which provides a lot of good information, including pinouts, schematics and code). In the end, I managed to build a list of interchangeable modules, but from these I have pinout for only three groups (one with connector, other two with exposed flex PCB pads). The first group of modules (used in crkbd project, linked above) works over SPI, whereas the other two work over I2C. Moreover, it would appears that the latter include a LED and button. Finally, these also appear to be more modern, since they are featured in the latter BlackBerry phones.

I'm going to try to have a sample of a few of these. I prefer the exposed PCB pad version, since it would be easier to solder wires to it. The downside is that these appear to require not only a 2.85v regulator, but also a 1.8v for the logic.

Pinouts:

The following is a list (number is pin number, not yet clear which pin is pin 1) of pin assignments of intercompatible modules.

9900/9930/9850/9860 series:

Flex PCB, with exposed pads:

  1. DOME_A Dome Switch A
  2. DOME_B Dome Switch B
  3. LED- LED Cathode
  4. LED+ LED Anode
  5. VDDIO Supply voltage for I/O pads
  6. VDDA Operating Voltage supply
  7. GND_CSP CSP Ground
  8. NRST Resets chips
  9. IO_MISO_SDA Bidirectional open drain serial data
  10. MOTION Motion Interrupt
  11. IO_CLK Clock for serial port
  12. GND_ISOLATED Isolated Ground
  13. SHUTDOWN Low Iddq Enable

9800/9810/9100/9105/9300 series:

Also Flex PCB, with exposed pads. Appears to have same pinout from above series, however the footprint of the pads is different (pads are bigger):

  1. KEYOUT
  2. KEYIN
  3. GND
  4. VSYS
  5. V1_8
  6. V2_85
  7. GND
  8. RST_N
  9. SDA
  10. MOTION_N
  11. SCL
  12. GND
  13. SHTDOWN

8520/8530 series:

The conector required to mate with this module is the following: DF30FB-20DS-0.4V

  1. GND
  2. SIG(3)
  3. NC
  4. SIG(2)/INT
  5. RESET
  6. SIG(1)
  7. SHTDOWN
  8. SIG(0)
  9. CS
  10. 2.85v (220ohm)
  11. CLK
  12. 2.85v
  13. SDI
  14. GND (220ohm)
  15. SDO
  16. KEY_OUT
  17. MOTION
  18. KEY_IN
  19. 2.85v
  20. GND

Discussions

themrcul wrote 08/11/2020 at 10:53 point

Hi Matias,

I am very impressed with your work and I have a few questions I sincerely hope you can answer for me!
I am designing a keyboard that I hope will use one or two of these trackpads and I hope to implement the push button as a mouse button as well as use a second trackpad for scrolling.

I am thinking of using the 8520 unit because as far as I can tell it has better documentation online compared with the others, and the connector looks sourceable (thanks to your work!).

My first question is do you know what pins on the connector are for the button on the underside of the trackpad? Are they pins 16 and 18? I'm guessing that when the button is pressed those pins get conductivity.

Also, since those pins aren't related to the logic of the trackpad itself, I would assume that 3.3V can be used between those pins. Please correct me if I'm wrong!

Lastly I you mentioned that these trackpad sensors (or at least subsequent releases of these sensors) have the capability to double their DPI from the default of 500 to 1000.
Can you tell me which command you sent over SPI to double the DPI? And are the 8520 units capable of the increased DPI, or is that only the newer units?

Thanks for your time and help, and all the best,
-Alister

  Are you sure? yes | no