Giter Club home page Giter Club logo

blackberry_trackpad's Introduction

How to use Blackberry 9900 trackpad

Keywords: avago, adbs, a320, OFN, optical finger navigation.

0. Prior work on Blackberry sensors

1. Pinout (FPC on the left, pads facing you)

The cable is 0.3mm dual-row FPC with notches (used to prevent slipping out of connector).

cable back

Pin Pin Function Wiring note
13 SHTDWN Used for powersave, connect to GND
12 GND
11 i2c SCL pull-up to VDDIO
10 MOTION_N Interrupt out, active low
9 i2c SDA pull-up to VDDIO
8 NRST Used on initialization, pull-up to VDDIO
7 GND
6 VDDA, VDDIO, VLED+ +2.6V..3.3V
5 DVDD +1.8V
4 Backlight LED + e.g. 3.3V
3 Backlight LED - e.g. 200 Ohm resistor to MCU open drain output
2 Dome switch B
1 Dome switch A

I could not determine which connector is 100% compatible with this cable (notches are usually somwhere else).
Hirose FH35C-17S seems to be OK here, just two pins on each side are not connected. The FPC is too thin (0.1 mm instead of 0.2 mm), so I added a bit of kapton tape.
Also counterfeit chinese connector (white instead of brown) seems to have wrong internal dimensions, so I had to adjust a cable position in it.

2. Voltages

Seems like noone tried to find the datasheet. All circuits with these sensors use 2.8V regulators which is totally redundant. The chip works fine with 3.3V logic and 3 kOhm pull-ups on I2C pins.

3. Wiring WTFs

The chip has an internal +1.8 regulator, but it seems to be disabled here. Or maybe I've killed it somehow.

At one point i mixed the +1.8 and +3.3 power inputs. Surprisingly the sensor almost worked -- it had i2c address 0x33 and registers were available for reading.

The properly functioning sensor has i2c address 0x3B.

4. Interfacing the sensor

Required pins are 5 (+1.8), 6(+3.3), 7, 12, 13(GND), 8 (NRST), 9 and 10 (i2c).

I2c address: 0x3B
Product_ID (reg 0): 0x83

I highly recommend reading the datasheet Notes on Power-up section (page 15). It tells how to enable finger presence detection, configure speed switching, enable i2c burst mode.

Also datasheet describes how to change X/Y orientation in reported data.

blackberry_trackpad's People

Contributors

stolen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.