AVAGO ADNS-7700-HAMY

ADNS-7700
One chip USB LaserStream™ Mouse Sensors
Data Sheet
Description
Features
The ADNS-7700 series are compact, low cost, one chip USB
LaserStreamTM mouse sensors designed for implemention
of a non-mechanical tracking engine in computer mice.
 One chip USB laser mouse sensor with VCSEL integrated
in single package
This ADNS-7700 sensor is a 22-pin integrated molded
lead-frame DIP package. It comprises a USB controller
and LaserStream navigation sensor with VCSEL integrated
within a single package. It is designed to be used with the
ADNS-6180-001 trim lens or ADNS-6180-002 wide trim
lens to achieve the LaserStream performance featured
in this document. These parts provide a complete and
compact navigation system with no moving parts and
precision optical alignment to facilitate high volume assembly. Avago has pre-calibrated the laser power prior
shipment, thus NO laser power calibration is required at
manufacturer site, therefore reducing assembly time and
associated cost.
 USB 2.0 Low Speed Compliance
The motion output is a selectable 8/12/16-bit USB data reporting format. This device is compliant to USB Revision
2.0 low speed specification. The ADNS-7700 series are
designed with on-chip One-Time-Programmable (OTP)
memory. This enables device configuration flexibility for
the manufacturer to cater for various market segments.
 On-chip OTP memory for device configuration
flexibility without any external software driver:
– Enable/Disable Tilt-Wheel* function that supports
horizontal scroll in Microsoft Vista OS.
– 8/12/16-bit USB motion data reporting
Theory of Operation
The ADNS-7700 is based on Laser-Stream navigation technology that measures changes in position by optically acquiring sequential surface images (per frames) and mathematically determining the direction and magnitude of
motion movement.
It contains an Image Acquisition System (IAS), a Digital
Signal Processor (DSP) and USB stream output. The IAS
acquires microscopic surface images via the lens. These
images are processed by the DSP to determine the direction and distance of motion. The DSP generates the x
and y relative displacement values which are converted
to USB motion data.
 LaserStream™ navigation technology
 Meets HID Revision 1.11
 Single 5.0 volts power supply
 Compliance to IEC/EN 60825-1 Class 1 Eye Safety
– Pre-calibrated laser power prior shipment
– Class 1 eye safety AEL
– On-chip Laser fault detect circuitry
 High speed motion detection at 45 inches per second
(ips) and acceleration up to 20g
 Input buttons: 3 or 5-buttons
 Mechanical Z-Wheel interface for vertical scroll
– Resolution
 Programmable from 400-2400 counts per inch (cpi)
with ~100cpi incremental step
 3 selections of On-the-Fly (OTF) resolution mode
setting
 KeyMap (KM) for keyboard shortcut key
 Customizable VID, PID, Manufacturer string and
Product string
 4-axis sensor rotations: 0°, 90°, 180° or 270°
Applications
 Corded laser mice
 Integrated input devices
* Disclaimer: All designers and manufacturers of this design must assure
that they have all necessary intellectual property rights
Ordering Part Numbers:
Description for USB LaserStream Mouse Sensor
Part Number
Input Button
Tilt-Wheel
OTF Resolution
KeyMap
ADNS-7700-H4MY
3-buttons
Programmable
–
–
ADNS-7700-HAMY
3-buttons
Programmable
Programmable
–
ADNS-7700-HCMY
5-buttons
Programmable
Programmable
–
ADNS-7700-HMMY
5-buttons
Programmable
Programmable
Programmable
Package Pinout
Lot Code
2
3
A7700
21
Date Code
XYYWWZV
X = Subcon Code
YYWW = Date Code
Z = Sensor Die Source
V = VCSEL Die Source
Lot Code
VVV
Numeric
19
5
18
6
Remarks
17
7
16
8
15
9
Date Code
Marking
Product Number
20
4
Product Number
Item
22
1
14
10
13
11
12
Figure 1. Device Pinout
Table 1. Pin Name Description
Pin Name
Description
Pin Name
Description
-VCSEL
Negative terminal of VCSEL
B1
Left button input (LB)
+VCSEL
Positive terminal of VCSEL
B2
Right button input (RB)
D+
USB D+ line
B3
Middle button input (MB)
D-
USB D- line
B4
Back button input (BB)
OSC_IN
Ceramic resonator input
B5
Forward button input (FB)
OSC_OUT
Ceramic resonator output
TW1*
Left tilt input
VDD5
5-Volt Power (USB VBUS)
TW2*
Right tilt input
DGND
System ground
LED0
Resolution LED indicator output
AGND
Analog ground
LED1
Resolution LED indicator output
LASER_GND
LASER ground
LED2
Resolution LED indicator output
REFA
Reference voltage capacitor
ZA
Z-Wheel quadrature input
REFB
Reference voltage capacitor
ZB
Z-Wheel quadrature input
REFC
Reference coupling
KM1
KeyMap 1 button input
OTF
OTF Resolution button input
KM2
KeyMap 2 button input
OTF_L
OTF Resolution Long Press button input
NC
No Connection
2
Table 2a. Device Pinout Configurations
ADNS-7700-H4MY
ADNS-7700-HAMY
ADNS-7700-HCMY
Pin
No 3B
3B + TW
3B
3B + TW
3B + OTF +
3LED
3B + TW +
OTF
5B
5B + TW
5B + OTF
4B + TW +
OTF
1
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
2
NC
TW2*
NC
TW2*
LED0
TW2*
NC
TW2*
OTF
TW2*
3
NC
TW1*
NC
TW1*
LED1
TW1*
NC
TW1*
NC
TW1*
4
LASER_GND LASER_GND
LASER_GND LASER_GND
LASER_GND LASER_GND LASER_GND LASER_GND
LASER_GND LASER_GND
5
REFB
REFB
REFB
REFB
REFB
REFB
REFB
REFB
REFB
REFB
6
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
7
REFC
REFC
REFC
REFC
REFC
REFC
REFC
REFC
REFC
REFC
8
ZA
ZA
ZA
ZA
ZA
ZA
ZA
ZA
ZA
ZA
9
ZB
ZB
ZB
ZB
ZB
ZB
ZB
ZB
ZB
ZB
10
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
11
REFA
REFA
REFA
REFA
REFA
REFA
REFA
REFA
REFA
REFA
12
DGND
DGND
DGND
DGND
DGND
DGND
DGND
DGND
DGND
DGND
13
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
14
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
15
NC
NC
NC
NC
OTF
OTF
B5
B5
B5
OTF
16
NC
NC
NC
NC
LED2
NC
B4
B4
B4
B4
17
B3
B3
B3
B3
B3
B3
B3
B3
B3
B3
18
B2
B2
B2
B2
B2
B2
B2
B2
B2
B2
19
B1
B1
B1
B1
B1
B1
B1
B1
B1
B1
20
D-
D-
D-
D-
D-
D-
D-
D-
D-
D-
21
D+
D+
D+
D+
D+
D+
D+
D+
D+
D+
22
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
3
Table 2b. Device Pinout Configurations
ADNS-7700-HMMY
Pin
No 5B
5B + TW
5B + KM1/OTF_L
5B + KM1/OTF_L
+ KM2
4B + TW + KM1/
OTF_L
3B + TW + KM1/
OTF_L
3B + TW + KM1/
OTF_L + KM2
1
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
+VCSEL
2
NC
TW2*
KM1/OTF_L
KM1/OTF_L
TW2*
TW2*
TW2*
3
NC
TW1*
NC
KM2
TW1*
TW1*
TW1*
4
LASER_GND
LASER_GND
LASER_GND
LASER_GND
LASER_GND
LASER_GND
LASER_GND
5
REFB
REFB
REFB
REFB
REFB
REFB
REFB
6
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
VDD5
7
REFC
REFC
REFC
REFC
REFC
REFC
REFC
8
ZA
ZA
ZA
ZA
ZA
ZA
ZA
9
ZB
ZB
ZB
ZB
ZB
ZB
ZB
10
AGND
AGND
AGND
AGND
AGND
AGND
AGND
11
REFA
REFA
REFA
REFA
REFA
REFA
REFA
12
DGND
DGND
DGND
DGND
DGND
DGND
DGND
13
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
OSC_OUT
14
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
OSC_IN
15
B5
B5
B5
B5
KM1/OTF_L
KM1/OTF_L
KM1/OTF_L
16
B4
B4
B4
B4
B4
NC
KM2
17
B3
B3
B3
B3
B3
B3
B3
18
B2
B2
B2
B2
B2
B2
B2
19
B1
B1
B1
B1
B1
B1
B1
20
D-
D-
D-
D-
D-
D-
D-
21
D+
D+
D+
D+
D+
D+
D+
22
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
-VCSEL
* Disclaimer: All designers and manufacturers of this design must assure that they have all necessary intellectual property rights.
4
Pin 1
9.10
0.358
0.80
0.031
VCSEL Center
(4.55)
0.179
Optical Center
4.60
0.181
22X 0.50
0.020
Feature for
Illustration only
19.80
0.78
0.80
0.031
1.78
0.070
0.89
0.035
4.26
0.168
12.70 (At Shoulder)
0.500
A
0.50
0.020
Sensor
VCSEL
Sensor
Reference Plane
1.65
0.065
4.05
0.160
A
0.20
0.008
12.70 ± 0.40 (At lead tip)
0.500 ± 0.016
2.45
0.096
Section A-A
NOTES: (Unless otherwise specified)
1. Dimensions in milimeter / inches.
2. Dimensional tolerance: ± 0.1mm.
3. Coplanarity of leads: 0.1mm.
4. Lead pitch tolerance: ± 0.15mm.
5. Non-cumulative pitch tolerance: ± 0.15mm.
6. Angular tolerance: ± 3°
7. Maximum flash: 0.2mm.
8. Chamfer (25° x 2) on the taper side of the lead.
9. Brackets () indicate reference dimension.
10. Document Number: LSR_SOC_INT_22A_Pkg_001
Figure 2. Package outline drawing
CAUTION: It is advised that normal static precautions be taken in handling and assembly
of this component to prevent damage and/or degradation which may be induced by ESD.
5
(7.27)
0.286
Assembly Drawings
Guide post B
B
B
Guide post A
7.40
Top of PCB to Surface
0.291
2.40
Z, Lens reference plane to Surface, typical
0.094
30 ~ 30 ~
Navigation Surface
SECTION B-B
Figure 3. 2D assembly drawing of ADNS-7700 sensor coupled with ADNS-6180-002 lens, PCB & base plate
6
1.60
PCB Thickness
0.063
9.05
Top of sensor to Surface
0.356
3D drawing files in STEP or IGES format for the sensor, lens
and base plate describing the components and base plate
molding features for the lens and PCB alignment is available.
ø
1.10
Pad ring
0.043
1.78
10X
0.070
12.50
0.492
10.95
0.431
Optical center
0
Pin #1
0.71
0.028
0
7.27
0.286
19.40
0.764
Dimensions in mm/inches
Figure 4. Recommended PCB mechanical cutouts and spacing
ADNS-7700 Sensor
Customer’s PCB
ADNS-6180-002 Lens
Customer’s Base Plate with
Recommended Features
Figure 5. Exploded view drawing of ADNS-7700 sensor coupled with ADNS-6180-002 lens, PCB & base plate
7
0.70
0.028
6.25
0.246
The integrated VCSEL is used for the illumination, provides
a laser diode with a single longitudinal and a single transverse mode. Together with the VCSEL contained in the
sensor package, the ADNS-6180-001 or ADNS-6180-002
lens provides directed illumination and optical imaging
necessary for the operation of the sensor. The lens is a precision molded optical component and should be handled
with care to avoid scratching and contamination on the
optical surfaces.
22X ø
1.55
0.061
As shown in Figure 5, the components self align as they
are mounted onto defined features on the base plate.
The ADNS-7700 sensor is designed for mounting on a
through-hole PCB, looking down. The guide holes in the
sensor package mates and self-aligns with the guide posts
in the ADNS-6180-001 or ADNS-6180-002 lens.
Application Schematics
+5.0V
C1
0.1uF
J1
USB
C2
3.3uF
VDD
+VCSEL (1)
(5) REFB
R1
1.5K
±1%
GND
D-
(21) D+
SW1
(19) B1
SHIELD
SW2
(18) B2
SW3
U1
ADNS-7700-HxMY
REFA (11)
D+
C10
100pF
VDD 5 (6)
(20) D-
C9
100pF
DGND (12)
LASER_GND (4)
P16 = B4/KM2
SW4
P16
(16) B4/KM2/
LED2/NC
C7
3.3uF
Refer to notes
on grounding layout
P3
(15) B5/OTF/OTF_L
KM1
(3) TW1*/KM2/
LED1/NC
(2) TW2*/OTF/OTF_L
LED0/NC
X1
24MHz
OSC_IN (14)
Connect REFC pin
to 50mm length
trace within the
DGND plane
REFC (7)
ZA (8)
ZA
ZB (9)
ZB
Mechanical Z-Wheel
Q1
ADNS-7700-HAMY
P16 = LED2, P3 = LED1, P2 = LED0
+5.0V
P3 = TW1/KM2
R5
240
SW6
P3
P16
R7
240
R6
240
D2
P2 = TW2/OTF/OTF_L/KM1
C5
C4 4.7uF
0.1uF
OSC_OUT (13)
P16
P2
C6
0.1uF
AGND (10)
(17) B3
SW5
C3
470pF
--VCSEL (22)
D3
P3
QA
ZA
QB
ZB
+5.0V
COM
D4
P2
SW7
P2
Figure 6. ADNS-7700 Sensor’s Application Schematics
* DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
8
PCB Layout Considerations:
1. The DGND and AGND paths MUST be layout as far as
possible and connected together at the USB ground
point with star topology. Ensure large grounding plane
on the PCB layout for better performance on ESD and
EFTB.
2. All caps MUST be as close to VDD5, REFA, REFB & +VCSEL
sensor pins as possible and ground at the DGND and
AGND plane that connected to USB GND, with trace
length less than 5mm.
3. 1.5k pullup resistor (R1) should be ± 1% tolerance
and connected to REFB pin with shortest possible trace
length.
4. Ceramic non-polarity caps and tantalum polarity caps
are recommended.
5. Caps should have less than 5nH of self inductance.
6. Caps connected to VDD5 MUST have less than 0.2 ESR.
7. REFC pin requires an open ended trace of min 50 mm
lengths within DGND plane for EFTB performance improvement. Refer to System Design Recommendations
Application Note.
8. Do not use jumper on ground plane, D+ and D- paths.
9. Data lines (D+ and D-) should be as far as possible from
resonator.
PCB Assembly Considerations
1. Insert the sensor package and all other electrical
components into the application PCB. To maintain the
Z alignment of sensor package, the sensor reference
plane can be sit directly on the PCB.
2. This sensor package is only qualified for wave-solder
process.
3. Wave solder the entire assembly in a non-wash solder
process utilizing solder fixture. The solder fixture is
needed to protect the sensor during the solder process
shielding the optical aperture from direct solder
contact.
4. Place the lens onto the base plate. Care must be taken
to avoid contamination and scratches on the optical
surfaces.
5. Hold the PCB vertically and remove the Kapton tape
attached to the respective aperture of sensor and
VCSEL. During the removal process of Kapton tape, care
must be taken to prevent contaminants from entering
through the apertures. Do NOT place the PCB facing
upwards during the entire mouse assembly process.
9
6. Place the PCB over the lens onto base plate. The sensor
package should be self-aligned and locked to the lens
by the lens’ alignment guide posts. The optical center
reference for the PCB is set by base plate and lens. Note
that the PCB movement due to button presses must be
minimized to maintain good optical alignment.
7. Optional: The lens can be permanently locked to the
sensor package by melting the lens’ guide posts over
the sensor with heat staking process.
8. Then, install the mouse top case. There MUST be feature
in the top case (or other area) to press down onto the
sensor or PCB assembly to ensure the sensor and lens
are interlocked to correct vertical height.
Design Considerations for Improving ESD Performance
For improved electrostatic discharge performance, typical
creepage and clearance distance are shown in the table
below. Assumption: base plate construction as per the
Avago supplied 3D model file when use with ADNS-6180001 trim lens or ADNS-6180-002 wide trim lens. The lens
flange can be sealed (i.e. glued) to the base plate. Note
that the lens material is polycarbonate and therefore, cyanoacrylate based adhesives or other adhesives that may
damage the lens should NOT be used.
Typical Distance
(mm)
ADNS-6180-001
trim lens
ADNS-6180-002
wide trim lens
Creepage
5.5
17.5
Clearance
1.8
1.8
Regulatory Requirements
 Passes FCC B and worldwide analogous emission limits
when assembled into a mouse with unshielded cable
and following Avago Technologies recommendations.
 Passes EN 61000-4-4/IEC 801-4 EFT tests when
assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
 Passes IEC-61000-4-2 Electrostatic Discharge Immunity
Test (ESD) and provides sufficient ESD creepage/
clearance distance to withstand up to 12 kV discharge
when assembled into a mouse with ADNS-6180-001
trim lens and up to 15 kV discharge when assembled
into a mouse with ADNS-6180-002 wide trim lens.
 Passes IEC/EN 60825-1 Class-1 Eye Safety when ADNS7700 is driving the laser using ADNS-6180-001 or
ADNS-6180-002 lens with recommended operating
conditions.
Block Diagram
USB
PORT
D+
B1
B2
D
B3
Z-WHEEL
CONTROL AND
I/O PROCESSOR
ZA
BUTTONS
B4
B5
ZB
TW1
TW2
REFC
OSC_IN
OSCILLATOR
OSC_OUT
LASER_GND
OSCILLATOR
LASER
DRIVE
LASER
POWER
ON
RESET
IMAGE
PROCESSOR
V
O
L
T
A
G
E
VCSEL +VE
VCSEL  VE
TILT WHEEL*
VCSEL
R
E
G
U
L
A
T
O
R
REFA
REFB
VDD5
DGND
AGND
VOLTAGE
REFERENCE
5-VOLT
USB VBUS
POWER
Figure 7. ADNS-7700 Block Diagram
Eye Safety
ADNS-7700 sensor and the associated components in
the schematic of Figure 6 are intended to comply with
Class 1 Eye Safety requirements of IEC/EN 60825-1. Avago
Technologies calibrate sensor laser output power (LOP)
to Class 1 eye safety level prior shipping out, thus no laser
output power calibration is required at mouse manufacturer site.
ing 506W, otherwise the LOPmax limit in the Absolute
Maximum Rating is applicable.
ADNS-7700 sensor is designed to maintain the laser
output power using ADNS-6180-002 lens within Class 1
requirements over components manufacturing tolerances under the recommended operating conditions and application circuit of Figure 6 as specified in this document.
Under normal operating conditions, the sensor generates the drive current for the VCSEL. Increasing the LOP
by other means on hardware and software can result in a
violation of the Class 1 eye safety limit of 716 W. For more
information, please refer to Eye Safety Application Note.
2. Measurement is taken at the optical center and illumination angle on navigation surface plane, Z.
Laser Output Power
The laser output power,LOP can be measured at the navigation surface plane. The sensor can drive the laser in
continuous (CW) mode by writing to LSR_CTRL0 and LSR_
CTRL1 registers via USB Set Vendor test command.
The pre-calibrated LOP value at typical operating supply
voltage and temperature of 25 ± 5°C should not exceed-
10
The following conditions apply:
1. The system is operated based on the recommended
application circuit in Figure 6 and within the recommended operating conditions.
3. No allowance for optical power meter accuracy is
assumed.
Single Fault Detection
ADNS-7700 sensor is able to detect a short circuit or fault
condition at the -VCSEL pin, which could lead to excessive laser power output. A path to ground on this pin will
trigger the fault detection circuit, which will turn off the
laser drive current source and set the LASER_NEN output
high. The system will prevent excess laser power for a resistive path to ground at -VCSEL by shutting off the laser.
In addition to the ground path fault detection described
above, the fault detection circuit is continuously checking for proper operation by internally generating a path
to ground with the laser turned off via LASER_NEN. If the
-VCSEL pin is shorted internally to VDD3 or externally to
REFB, this test will fail and will be reported as a fault.
ADNS-7700
LASER
DRIVE
VDD3
LASER_NEN
VDD3
fault control
block
+VCSEL
VCSEL
USB
Port
voltage
sense
VCSEL
XYLASER
current
set
LASER_GND
Figure 8. Single Fault Detection and Eye Safety Feature Block Diagram
Absolute Maximum Ratings
Parameter
Symbol
Minimum
Maximum
Units
Storage Temperature
TS
-40
85
°C
260
°C
5.5
V
2
kV
All pins, human body model
Lead Solder Temperature
Supply Voltage
VDD
-0.5
ESD
Notes
For 7 seconds, 1.6mm below seating plane.
Refer to soldering reflow profile in PCB Assembly
& Soldering Considerations Application Note
AN 5023.
Input Voltage
VIN
-0.5
VDD+0.5
V
All I/O pins except OSC_IN and OSC_OUT, D+, D-
Input Voltage
VIN
-1.0
4.6
V
D+, D-, AC waveform, see USB specification (7.1.1)
Input Voltage
VIN
-0.5
3.6
V
OSC_IN and OSC_OUT
Input Short Circuit Voltage
VSC
0
VDD
V
D+, D-, see USB specification (7.1.1)
Laser Output Power
LOPmax
716
W
Class 1 eye safety AEL with ADNS-6180-001 or
ADNS-6180-002 lens
Comments:
1. Stress greater than those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are the stress ratings only
and functional operation of the device at these or any other condition beyond those indicated for extended period of time may affect device
reliability.
2. The inherent design of this component causes it to be sensitive to electrostatic discharge. The ESD threshold is listed above. To prevent
ESD-induced damage, take adequate ESD precautions when handling this product.
11
Recommended Operating Conditions
Parameter
Symbol
Minimum
Operating Temperature
TA
0
Power Supply Voltage
VDD
4.4
Power Supply Rise Time
VRT
0.1
Power Supply Noise
VN
Velocity
Vel
Acceleration
Acc
Clock Frequency
fclk
Resonator Impedance
XRES
Distance from lens reference
plane to surface
Z
Typical
5.0
Units
40
°C
5.25
Volts
100
ms
100
mVp-p
45
23.64
2.18
For accurate navigation and
proper USB operation
Peak to peak within
50kHz-100MHz bandwidth
2.40
20
g
In Run Mode only
24.36
MHz
Due to USB timing constraints
55

2.62
mm
See Figure 9
fps
Internally adjusted by sensor
8000

Notes
ips
24.00
Frame Rate
VCSEL’s Peak Wavelength
Maximum
832
865
nm
Z
Figure 9. Distance from lens reference plane to object surface, Z
AC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V.
Parameter
Symbol
Wakeup delay from rest
mode due to motion
Max.
Units
T WUPP
2
ms
Power up delay
TPUP
50
ms
Debounce delay on button
inputs
TDBB
6
9
ms
Z-Wheel sampling period
TSW
2.0
2.8
ms
ZA & ZB Pins
Transient Supply Current
IDDT
75
mA
Max supply current during a VDD ramp
from 0 to 5.0 V with > 500s rise time.
Does not include charging currents for
bypass capacitors.
12
Min.
1.9
Typical
Notes
Delay measured from VBUS=4.4V
DC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V,
Parameter
Symbol
Run Mode System Current
(Mouse moving)
Maximum
Units
Notes
IDD5
100
mA
Includes laser current on
Rest Mode System Current
(Mouse not moving)
IDD5N
100
mA
Includes laser current
USB Suspend Mode System
Current (Remote Wakeup
Enabled)
IDD5S
500
A
Includes D- pullup resistor
Input Low Voltage
VIL
0.5
V
Pins: ZA, ZB
0.2*VREFB
V
Pins: B1-B5, TW1, TW2
0.6*VDD
V
Pins: ZA, ZB
0.8* VREFB
V
Pins: B1-B5, TW1, TW2
mV
Pins: B1-B5, TW1, TW2
Input High Voltage
VIH
Minimum
Typical
230
Input Hysteresis
VHYST
Button Pull Up Current
BIOUT
100
300
500
A
Pins: B1-B5, TW1, TW2
Regulator output, REFA
VREFA
1.55
1.8
2.05
V
Typical operation current load
Regulator output, REFB
VREFB
3.0
3.3
3.6
V
Typical operation current load
USB Electrical Specifications
Electrical Characteristics over recommended operating conditions.
Parameter
Symbol
Minimum
Maximum
Units
Notes
Output Signal Crossover Voltage
VCRS
1.5
2.0
V
CL = 200 to 600 pF (see Figure 10)
Input Signal Crossover Voltage
VICRS
1.2
2.1
V
CL = 200 to 600 pF (see Figure 10)
Output High
VOH
2.8
3.6
V
with 15k to Ground and 1.5k to VREFB
on D- (see Figure 10)
Output Low
VOL
0.0
0.3
V
with 15k to Ground and 1.5k to VREFB
on D- (see Figure 10)
Single Ended Output
VSE0
0.8
V
Input High (Driven)
VIH
2.0
Input High (Floating)
VIHZ
2.7
Input Low
VIL
Differential Input Sensitivity
VDI
0.2
Differential Input Common
Mode Range
VCM
0.8
Single Ended Receiver Threshold
VSE
0.8
Transceiver Input Capacitance
CIN
13
V
3.6
V
0.8
V
1.5k to VREFB on D-
V
|(D+)-(D-)| See Figure 12
2.5
V
Includes VDI, See Figure 12
2.0
V
12
pF
D+ to VBUS, D- to VBUS
USB Timing Specifications
Timing Specifications over recommended operating conditions.
Parameter
Symbol
Minimum
D+/D- Transition rise time
TLR
75
D+/D- Transition rise time
TLR
D+/D- Transition fall time
TLF
D+/D- Transition fall time
TLF
Rise and Fall time matching
TLRFM
Wakeup delay from USB suspend
mode due to buttons push
Units
Notes
ns
CL = 200 pF (10% to 90%), see Figure 10
ns
CL = 600 pF (10% to 90%), see Figure 10
ns
CL = 200 pF (90% to 10%), see Figure 10
300
ns
CL = 600 pF (90% to 10%), see Figure 10
125
%
TR/TF; CL = 200 pF; Excluding the
first transition from the Idle State
T WUPB
17
ms
Delay from button push to USB operation
Only required if remote wakeup enabled
Wakeup delay from USB suspend
mode due to buttons push until
accurate navigation
T WUPN
50
ms
Delay from button push to navigation
operation
Only required if remote wakeup enabled
USB reset time
Treset
18.7
Data Rate
tLDRATE
1.4775
1.5225
Mb/s
Average bit rate, 1.5 Mb/s +/- 1.5%
Receiver Jitter Tolerance
tDJR1
-75
75
ns
To next transition, see Figure 13
Receiver Jitter Tolerance
tDJR2
-45
45
ns
For paired transitions, see Figure 13
Differential to EOP Transition Skew
tLDEOP
-40
100
ns
See Figure 14
EOP Width at Receiver
tLEOPR
670
ns
Accepts EOP, see Figure 14
Source EOP Width
tLEOPT
1.25
Width of SE0 interval during
Differential Transition
tLST
Differential Output Jitter
tUDJ1
Differential Output Jitter
tUDJ2
14
Maximum
300
75
80
s
1.50
s
210
ns
See Figure 11.
-95
95
ns
To next transition, see Figure 15
-150
150
ns
For paired transitions, see Figure 15
VOH
D+
90%
90%
VCRS
VOL
10%
10%
D
TLR
Rise Time
TLF
Fall Time
Figure 10. Data Signal Rise and Fall Times
One Bit Time (1.5 MB/s)
Minimal Reflectance
and Ringing
VOH (min)
VIH (min)
VIL (max)
VOL (max)
GND
tLST
Figure 11. Data Signal Voltage Levels
Differential Input Voltage Range
Differential Output
Crossover
Voltage Range
-1.0
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2
Input Voltage Range (volts)
Figure 12. Differential Receiver Input Sensitivity vs. Common Mode Input Range
15
4.6
TPERIOD
TDJR
TDJR1
Consecutive Transitions
N* TPERIOD + TDJR1
Paired Transitions
N* TPERIOD + TDJR2
Figure 13. Receiver Jitter Tolerance
TPERIOD
Crossover Point
Crossover Point
Extended
Differential
Data Lines
Source EOP Width: TLEOPT
Differential Data
to SEO Skew
N* TPERIOD + TLDEOP
Receiver EOP Width: TLEOPR
Figure 14. Differential to EOP Transition Skew and EOP Width
TPERIOD
Differential
Data Lines
Consecutive Transitions
N* TPERIOD + TUDJ1
Paired Transitions
N* TPERIOD + TUDJ2
Figure 15. Differential Output Jitter
16
TDJR2
One-Time-Programmable (OTP) Memory
OTP Byte Write Operation
The on chip OTP memory allows device configuration flexibility to override the default setting of ADNS-7700 sensors
without any external software driver. Once the OTP operation is enabled, all OTP registers must be programmed
accordingly as the default values of un-program OTP registers are always zero when L2_USE_OTP register setting is
not zero value. Tips: OTP write to the OTP register can be
skipped if the setting is zero value (0x00) in order to save
the OTP programming time.
OTP write operation flow chart is shown in Figure 16.
OTP address space is from 0x80 to 0xFE. OTP can be programmed via USB interface using Set Vendor Test and Get
Vendor Test commands.
5. Read the write enable bit status in OTP_CTRL register,
0x4F. If WR = 1, repeat reading the bit status until it is
clear.
1. Set OTP enable bit in OTP_CONFIG register, 0x4C:
OTP_EN = 1.
2. Write the OTP register address byte to OTP_ADDR
register, 0x4D.
3. Write the OTP data byte to OTP_DATA register, 0x4E.
4. Set write enable bit in OTP_CTRL register, 0x4F to
enable write command to OTP: WR = 1.
6. Read the write status bit in OTP_CTRLSTAT register,
0x50.
a. If WR_OK = 1, OTP write operation is completed.
Repeat Step 2 for more OTP byte write operations.
b. If WR_OK = 0, repeat Step 4.
7. If Step 6b is repeated up to 10 times, OTP write operation
is failed and the chip is confirmed as defective unit.
Start
0x4C: OTP_CONFIG [0] = 1
Write OTP enable bit
Repeat = 1
0x4D: OTP_ADDR [7:0]
Write OTP addr byte
0x4E: OTP_DATA [7:0]
Write OTP data byte
0x4F: OTP_CTRL [0] = 1
Write OTP program bit
0x4F: OTP_CTRL [0]
Read OTP program bit
No
0x50: OTP_CTRLSTAT [0]
Yes
bit = 0?
Yes
Repeat = repeat + 1
Read OTP status bit
bit = 1?
Repeat = 10?
Yes
OTP write pass
OTP write fail
No
Done
17
No
Yes
More bytes?
Figure 16. OTP Byte Write Flow Chart
No
Bad chip
OTP Byte Read Operation
OTP read operation flow chart is shown in Figure 17.
1. Set OTP enable bit in OTP_CONFIG register, 0x4C:
OTP_EN = 1.
2. Write the OTP register address byte to OTP_ADDR
register, 0x4D.
3. Set read enable bit in OTP_CTRL register, 0x4F to enable
write command to OTP: RD = 1.
Start
Write OTP addr byte
Write OTP read bit
0x4F: OTP_CTRL [1]
Read OTP read bit
No
bit = 0?
Yes
Read OTP data
OTP read done
More bytes?
No
Done
Figure 17. OTP Byte Read Flow Chart
18
6. Repeat Step 2 for more OTP read operations.
0x4D: OTP_ADDR [7:0]
0x4F: OTP_CTRL [1] = 1
0x4E: OTP_DATA [7:0]
5. Read the OTP data byte from OTP_DATA register, 0x4E
to complete the OTP read operation.
0x4C: OTP_CONFIG [0] = 1
Write OTP enable bit
Yes
4. Read the read enable bit status in OTP_CTRL register,
0x4F. If RD = 1, repeat reading the bit status until it is
clear.
OTP Lock Operation
OTP lock operation MUST be performed once OTP write to
OTPLOCK2 register for the sensor to function. DO not reset
or power up the chip right after OTP write to OTPLOCK2
register, otherwise the chip will be malfunction. The OTP
lock operation flow chart is shown in Figure 18.
1. After OTP write to OTPLOCK2 register, set OTP enable
bit in OTP_CONFIG register, 0x4C: OTP_EN = 1.
2. Set OTP lock bit in OTP_CTRL register, 0x4F to enable
OTP lock command: LOCK_L2 = 1.
3. Read the OTP lock bit status in OTP_CTRL register, 0x4F. If
LOCK_L2 = 1, repeat reading the bit status until it is clear.
4. Read the lock status and CRC bits in OTP_CTRLSTAT
register, 0x50.
a. If both L2_LOCK_OK and L2_CRC_OK = 1, OTP lock
operation is completed.
b. If either L2_LOCK_OK or L2_CRC_OK = 0, repeat Step
2 until both bits are set.
5. If Step 4b is repeated up to 10 times, OTP lock operation
is failed and the chip is confirmed as defective unit.
OTP Write 0xFF to
OTPLOCK2 register,
0xFA
0x4C: OTP_CONFIG [0] = 1
Write OTP enable bit
Repeat = 1
0x4F: OTP_CTRL [2] = 1
Write OTP lock bit
0x4F: OTP_CTRL [2]
Read OTP lock bit
No
bit = 0?
Yes
Repeat = repeat + 1
0x50: OTP_CTRLSTAT [2]
Read lock status bit
0x50: OTP_CTRLSTAT [3]
No
Repeat = 10?
Read CRC status bit
No
Yes
Yes
OTP lock fail
OTP locked
Bad chip
Done
Figure 18. OTP Byte Lock Flow Chart
19
lock & crc = 1?
Buttons and Tilt Wheel
The minimum time between button presses is TDBB.
Buttons, B1 through B5 and Tilt Wheel are connected to a
Schmidt trigger input with 100A current sources pulling
up to +5.0V during run, rest and USB suspend modes.
The tilt wheel feature can be enabled or disabled via OTP
register. All designers and manufacturers of final product with tilt
wheel enabled must assure that they have all necessary intellectual
property rights.
S0
CPI_SET0
OTF button
1st pressed
S1
CPI_SET1
OTF button
2nd pressed
S2
CPI_SET2
OTF button 3rd pressed
Figure 19. OTF Resolution Mode State Machine
Debounce Algorithm
Table 3. OTF LED Indication Status for ADNS-7700-HAMY
 Button inputs B1, B2, B3, B4, B5, TW1 and TW2 are
sampled every 2ms.
State Sequence
Current State Status
 Three consecutive low values create a button press
event.
Previous
Current
LED0
LED1
LED2
S2
S0
High
Low
Low
S0
S1
Low
High
Low
S1
S2
Low
Low
High
 Three consecutive high values create a button release
event.
Z-Wheel
ADNS-7700 is designed to be used with mechanical ZWheel for vertical scrolling. The Z-Wheel reporting format
which determines the vertical scroll resolution is Z/2 as
most of the commonly available mechanical Z-Wheel encoders come with lower sensitivity.
On-the-Fly (OTF) Resolution Mode
The ADNS-7700-HAMY, ADNS-7700-HCMY and ADNS7700-HMMY sensors are enhanced with programmable
On-the-Fly (OTF) resolution mode, which user is able to
switch resolution setting anytime with OTF button click.
OTF mode can be activated from OTP register 0xC1 by
writing either 01 or 10 to OTF [1:0]. When OTF [1:0] = 00
or 11, the resolution setting is fixed as per CPI_SET0 register configuration. Refer to Table 4 on the configurable
options.
Every OTF button click triggers the change of resolution
setting from current state to next state. The OTF state
machine as shown in Figure 19 implements in the sequence of S0: CPI_SET0, S1: CPI_SET1 and S2: CPI_SET2 in
a cycle. The default state upon ADNS-7700 sensor power
up is always at S0.
For ADNS-7700-HAMY sensor, the OTF state can be displayed with LED indication via LED0, LED1 and LED2 pins.
LED0, LED1 and LED2 are active high output and can be
connected to the base of a NPN bi-polar junction transistor (BJT) which when ON connects VDD to the LED.
The button click for OTF mode in ADNS-7700-HMMY requires long press. The long press timing is configurable via
LONGPRESS register, 0xC6 with default timing of 0.256s.
20
KeyMap (KM)
KeyMap mode enables B4, B5, TW1 or TW2 button to be
assigned as keyboard shortcut key. Thus, the sensor can
be customized to implement standard Microsoft keyboard
shortcut keys or special shortcut keys used in different applications, eg. Office, CAD, PC Games, etc. Table 3 shows
the configuration of KM1 and KM2 pins in KeyMap mode.
KM [1:0] bits in DEVCONFIG register, 0xC1 must complement to each other in order to enable KeyMap modes.
KM1 will be implemented as per CodeA setting while KM2
will be implemented as per CodeB setting. CodeA and
Code B allow configuration of two and above keys combination (eg. Alt+Tab, Alt+Ctrl+Del).
CodeA = CODEA_KEY1 register, 0xC2 + CODEA_KEY2 register, 0xC4
CodeB = CODEB_KEY1 register, 0xC3 + CODEB_KEY2 register, 0xC5
CODEA_KEY1 and CODEB_KEY1 registers consist of 8 predefined keyboard keys: Microsoft Logo GUI, Alt, Shift and
Ctrl keys located at left and right sides. CODEA_KEY2 and
CODEB_KEY2 registers can be programmed with a keyboard key scan code available from Windows Platform
Design Notes on Keyboard Scan Code Specification, which
can be downloaded from:
http://www.microsoft.com/whdc/archive/scancode.mspx
Table 4. Resolution and KeyMap Mode OTP Configurations
REG
0xC7
REG
0xC1
REG
0xC1
Pinout Configurations
Part Number
Configuration
Options
TW_NEN OTF1-0
KM1-0
B1
B2
B3
B4
B5
TW1
TW2
ADNS-7700-H4MY
3B
1
00
00
Left
Right
Middle
NA
NA
NA
NA
3B + TW (Default)
0
00
00
Left
Right
Middle
NA
NA
Tilt left
Tilt right
3B
1
00
00
Left
Right
Middle
NA
NA
NA
NA
3B + TW (Default)
0
00
00
Left
Right
Middle
NA
NA
Tilt left
Tilt right
3B + TW + OTF
ADNS-7700-HAMY
ADNS-7700-HCMY
ADNS-7700-HMMY
0
01
00
Left
Right
Middle
NA
OTF
Tilt left
Tilt right
3B + OTF + 3LED 1
01
00
Left
Right
Middle
LED2
OTF
LED1
LED0
5B
1
00
00
Left
Right
Middle
Back
Forward
NA
NA
5B + TW (Default)
0
00
00
Left
Right
Middle
Back
Forward
Tilt left
Tilt right
5B + OTF
1
01
00
Left
Right
Middle
Back
Forward
NA
OTF
4B + TW + OTF
0
01
00
Left
Right
Middle
Back
OTF
Tilt left
Tilt right
5B
1
00
00
Left
Right
Middle
Back
Forward
NC
NC
5B + TW (Default)
0
00
00
Left
Right
Middle
Back
Forward
Tilt left
Tilt right
5B + KM1/OTF_L 1
01
01
Left
Right
Middle
Back
Forward
NC
KM1/ OTF_L
5B + KM1/OTF_L 1
+ KM2
01
10
Left
Right
Middle
Back
Forward
KM2
KM1/ OTF_L
4B + TW + KM1/
OTF_L
0
01
01
Left
Right
Middle
Back
KM1/ OTF_L Tilt left
Tilt right
3B + TW + KM1/
OTF_L
0
10
01
Left
Right
Middle
NC
KM1/ OTF_L Tilt left
Tilt right
3B + TW + KM1/
OTF_L + KM2
0
10
10
Left
Right
Middle
KM2
KM1/ OTF_L Tilt left
Tilt right
Configuration after Power Up (Data Values)
Signal Function
State from Figure 9-1 of USB spec:
Powered or Default Address or Configured
State from Figure 9-1 of USB spec:
Suspended from any other states
B1
Pullup active for button use
Pullup active for button use
B2
Pullup active for button use
Pullup active for button use
B3
Pullup active for button use
Pullup active for button use
B4
Pullup active for button use
Pullup active for button use
B5
Pullup active for button use
Pullup active for button use
TW1
Pullup active for button use
Pullup active for button use
TW2
Pullup active for button use
Pullup active for button use
D+
USB I/O
Hi-Z input
D-
USB I/O
Hi-Z input
OSC_IN
24MHz
Drive Logic ‘1’
OSC_OUT
24MHz
Drive Logic ‘1’
-VCSEL
Pulsing
Pulled high (off )
ZA
Hi-Z input
Hi-Z input
ZB
Hi-Z input
Hi-Z input
21
Typical Performance Characteristics
The following graphs are the typical performance of the ADNS-7700 sensor, assembled as shown in the 2D assembly
drawing with the ADNS-6180-001 or ADNS-6180-002 lens.
Resolution Vs. Z
Straight line at 45deg, Path length = 4inches, Speed = 6ips, Resolution = 1000cpi
1200
White Paper
Resolution (cpi)
1000
Photo Paper
800
Manila
600
Spruce Wood
400
Black Formica
White Formica
200
White Delrin
0
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
3.4
Figure 20. Mean Resolution vs. Z
Typical Path Deviation
Largest Single Perpendicular Deviation from a Straight line at 45deg,
Path length = 4inches, Speed = 6ips, Resolution = 1000cpi
Maximum Distance
(Mouse Counts)
60
White Paper
50
Photo Paper
40
Manila
30
Spruce Wood
20
Black Formica
White Formica
10
White Delrin
0
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
3.2
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
3.4
Figure 21. Average Error vs. Z
Relative Respnsivity
Relative Responsivity Vs. Wavelength
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
400 440 480 520 560 600 640 680 720 760 800 840 880 920 960 1000
Wavelength (nm)
Figure 22. Wavelength Responsivity
22
USB Commands
Mnemonic
Command
Notes
USB_RESET
D+/D- low > 18.7us
Device Resets; Address = 0
USB_SUSPEND
Idle state > 3mS
Device enters USB low-power mode
USB_RESUME
Non-idle state
Device exits USB low-power mode
Get_Status_Device
80 00 00 00 00 00 02 00
Normally returns 00 00,
Self powered 00 00,
Remote wakeup 02 00
Get_Status_Interface
81 00 00 00 00 00 02 00
Normally returns 00 00
Get_Status_Endpt0
82 00 00 00 xx 00 02 00
OUT: xx = 00, IN: xx = 80
Normally returns 00 00
Get_Status_Endpt1
82 00 00 00 81 00 02 00
Normally returns 00 00, Halt 00 01
Get_Configuration
80 08 00 00 00 00 01 00
Return: 00 = not config., 01 = configured
Get_Interface
81 0A 00 00 00 00 01 00
Normally returns 00
Get_Protocol
A1 03 00 00 00 00 01 00
Normally returns 01, Boot protocol 00
Get_Desc_Device
80 06 00 01 00 00 nn 00
See USB Command Details Application Note
Get_Desc_Config
80 06 00 02 00 00 nn 00
See USB Command Details Application Note
Get_Desc_String
80 06 xx 03 00 00 nn 00
See USB Command Details Application Note
Get_Desc_HID
81 06 00 21 00 00 09 00
See USB Command Details Application Note
Get_Desc_HID_Report
81 06 00 22 00 00 nn 00
See USB Command Details Application Note
Get_HID_Input
A1 01 00 01 00 00 nn 00
Return depends on motion & config
Get_Idle
A1 02 00 00 00 00 01 00
Returns rate in multiples of 4ms
Get_Vendor_Test
C0 01 00 00 xx 00 01 00
xx = address of register to read
Set_Address
00 05 xx 00 00 00 00 00
xx = address
Set_Configuration
00 09 xx 00 00 00 00 00
Not configured: xx = 00
Configured: xx = 01
Set_Interface
01 0B 00 00 00 00 00 00
Only one interface supported
Set_Protocol
21 0B xx 00 00 00 00 00
Boot: xx=00, Report: xx=01
Set_Feature_Device
00 03 01 00 00 00 00 00
Enable remote wakeup
Set_Feature_Endpt0
02 03 00 00 xx 00 00 00
Halt. OUT: xx = 00, IN: xx = 80
Set_Feature_Endpt1
02 03 00 00 81 00 00 00
Halt
Clear_Feature_Device
00 01 01 00 00 00 00 00
Disable Remote wakeup
Clear_Feature_Endpt0
02 01 00 00 xx 00 00 00
Clear Halt; OUT: xx = 00, IN: xx = 80
Clear_Feature_Endpt1
02 01 00 00 81 00 00 00
Clear Halt
Set_Idle
21 0A 00 rr 00 00 00 00
rr = report rate in multiples of 4ms
Set_Vendor_Test
40 01 00 00 xx yy 00 00
Write yy to address xx
Poll_Endpt1
Read buttons, motion, & Z-wheel
Note: The last two bytes in a command shown as “nn 00” specify the 16-bit data size in the order of “LowByte HighByte.” For example a two-byte data
size would be specified as “02 00.” ADNS-7700 will not provide more bytes than the number requested in the command, but it will only supply up to a
maximum of 8bytes at a time. The ADNS-7700 will re-send the last packet if the transfer is not acknowledged properly.
23
USB Data Packet Format
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B, 3B+OTF+3LED
Button
3
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled/ Enabled
KM
Disabled/
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B+TW, 3B+TW+OTF
Button
3
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled/ Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 5
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
24
Sensor
ADNS-7700-HCMY, ADNS-7700-HMMY
Configuration
5B, 5B+OTF
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled/Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Sensor
ADNS-7700-HCMY
Configuration
5B+TW
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 5
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
25
Sensor
ADNS-7700-HCMY
Configuration
4B+TW+OTF
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 5
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Sensor
ADNS-7700-HMMY
Configuration
5B+KM1/OTF_L, 5B+KM1/OTF_L+ KM2
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
FB
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
26
Sensor
ADNS-7700-HMMY
Configuration
3B+TW+KM1/OTF_L, 3B+TW+KM1/OTF_L+ KM2
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
0
0
MB
RB
LB
Byte 3
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 6
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Sensor
ADNS-7700-HMMY
Configuration
4B+TW+KM1/OTF_L
Button
5
Motion Format
8-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Byte 1
REPORT ID (01)
Byte 2
0
0
0
0
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 6
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
27
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B, 3B+OTF+3LED
Button
3
Motion Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled/ Enabled
KM
Disabled/
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B+TW, 3B+TW+OTF
Button
3
Motion Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled/ Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 6
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
28
Sensor
ADNS-7700-HCMY, ADNS-7700-HMMY
Configuration
5B, 5B+OTF
Button
5
Motion Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled/Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Sensor
ADNS-7700-HCMY
Configuration
5B+TW
Button
5
Motion Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 6
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
29
Sensor
ADNS-7700-HCMY
Configuration
4B+TW+OTF
Button
5
Motion Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 5
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 6
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Sensor
ADNS-7700-HMMY
Configuration
5B+KM1/OTF_L, 5B+KM1/OTF_L+ KM2
Button
5
Motion
Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
FB
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
30
Sensor
ADNS-7700-HMMY
Configuration
3B+TW+KM1/OTF_L, 3B+TW+KM1/OTF_L+ KM2
Button
5
Motion
Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
0
0
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 7
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
31
Sensor
ADNS-7700-HMMY
Configuration
4B+TW+KM1/OTF_L
Button
5
Motion
Format
12-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
0
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
Y[3]
Y[2]
Y[1]
Y[0]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[11]
Y[10]
Y[9]
Y[8]
Y[7]
Y[6]
Y[5]
Y[4]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 7
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B, 3B+OTF+3LED
Button
3
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled/ Enabled
KM
Disabled/
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
32
Sensor
ADNS-7700-H4MY, ADNS-7700-HAMY
Configuration
3B+TW, 3B+TW+OTF
Button
3
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled/ Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 7
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Sensor
ADNS-7700-HCMY, ADNS-7700-HMMY
Configuration
5B
Button
5
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Disabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
33
Sensor
ADNS-7700-HCMY, ADNS-7700-HMMY
Configuration
5B+TW
Button
5
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Disabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
0
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 7
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Sensor
ADNS-7700-HCMY
Configuration
5B+ OTF
Button
5
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
FB
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
34
Sensor
ADNS-7700-HCMY
Configuration
4B+TW+OTF
Button
5
Motion Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Disabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
0
0
0
0
BB
MB
RB
LB
Byte 2
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 3
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 4
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 5
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 6
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 7
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Sensor
ADNS-7700-HMMY
Configuration
5B+KM1/OTF_L, 5B+KM1/OTF_L+ KM2
Button
5
Motion
Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Disabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
FB
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 6
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 7
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
35
Sensor
ADNS-7700-HMMY
Configuration
3B+TW+KM1/OTF_L, 3B+TW+KM1/OTF_L+ KM2
Button
5
Motion
Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
FB
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 6
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 7
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 8
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
Byte 5
KEY_CODE_
B[7]
KEY_CODE_
B[6]
KEY_CODE_
B[5]
KEY_CODE_
B[4]
KEY_CODE_
B[3]
KEY_CODE_
B[2]
KEY_CODE_
B[1]
KEY_CODE_
B[0]
36
Sensor
ADNS-7700-HMMY
Configuration
4B+TW+KM1/OTF_L
Button
5
Motion
Format
16-Bit
Z-Wheel
Mechanical
Tilt-Wheel
Enabled
OTF
Enabled
KM
Enabled
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Byte 1
REPORT ID (01)
Byte 2
0
0
0
0
BB
MB
RB
LB
Byte 3
X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0]
Byte 4
X[15]
X[14]
X[13]
X[12]
X[11]
X[10]
X[9]
X[8]
Byte 5
Y[7]
Y[6]
Y[5]
Y[4]
Y[3]
Y[2]
Y[1]
Y[0]
Byte 6
Y[15]
Y[14]
Y[13]
Y[12]
Y[11]
Y[10]
Y[9]
Y[8]
Byte 7
Z[7]
Z[6]
Z[5]
Z[4]
Z[3]
Z[2]
Z[1]
Z[0]
Byte 8
TW[7]
TW[6]
TW[5]
TW[4]
TW[3]
TW[2]
TW[1]
TW[0]
Byte 1
REPORT ID (02)
Byte 2
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Byte 3
0
0
0
0
0
0
0
0
Byte 4
KEY_CODE_
A[7]
KEY_CODE_
A[6]
KEY_CODE_
A[5]
KEY_CODE_
A[4]
KEY_CODE_
A[3]
KEY_CODE_
A[2]
KEY_CODE_
A[1]
KEY_CODE_
A[0]
37
Registers
The sensor can be programmed through registers, via the USB port, and configuration and motion data can be read from
these registers. The registers will be “disabled” by VDD5 going low or sending a USB reset command.
Address
Register Name
Register Type
Access
Reset Value
0x00
PROD_ID
Device
Read only
0x37
0x01
REV_ID
Device
Read only
0x01
0x02
BUT_STAT
Device
Read only
Undefined
0x03
DELTA_X_H
Device
Read only
0x00
0x04
DELTA_X_L
Device
Read only
0x00
0x05
DELTA_Y_H
Device
Read only
0x00
0x06
DELTA_Y_L
Device
Read only
0x00
0x07
MOTZ
Device
Read only
0x00
0x08
SQUAL
Device
Read only
Undefined
0x09
SHUT_HI
Device
Read only
0x00
0x0A
SHUT_LO
Device
Read only
Undefined
0x0B
PIX_MAX
Device
Read only
Undefined
0x0C
PIX_ACCUM
Device
Read only
Undefined
0x0D
PIX_MIN
Device
Read only
Undefined
0x0E
PIX_GRABBER
Device
Read/Write
0x00
0x4C
OTP_CONFIG
Device
Read/Write
0x00
0x4D
OTP_ADDR
Device
Read/Write
0x00
0x4E
OTP_DATA
Device
Read/Write
0x00
0x4F
OTP_CTRL
Device
Read/Write
0x00
0x50
OTP_CTRLSTAT
Device
Read only
Undefined
0x51
OTP_RUNSTAT
Device
Read only
Undefined
0x75
LSR_CTRL0
Device
Read/Write
0x00
0x76
LSR_CTRL1
Device
Read/Write
0x0F
0x7E
INV_REV_ID
Device
Read only
0xFE
0xBB
L2_USE_OTP
OTP
Read/Write
0x00
0xBC
CPI_SET0
OTP
Read/Write
0x0A
0xBD
CPI_SET1
OTP
Read/Write
0x10
0xBE
CPI_SET2
OTP
Read/Write
0x05
0xBF
MOTCONFIG1
OTP
Read/Write
0x00
0xC0
ROTATION
OTP
Read/Write
0x07
0xC1
DEVCONFIG
OTP
Read/Write
0x00
0xC2
CODEA_KEY1
OTP
Read/Write
0x00
0xC3
CODEB_KEY1
OTP
Read/Write
0x00
0xC4
CODEA_KEY2
OTP
Read/Write
0x00
0xC5
CODEB_KEY2
OTP
Read/Write
0x00
0xC6
LONGPRESS
OTP
Read/Write
0X10
0xC7
TW_CONFIG
OTP
Read/Write
0x00
0xC8 : 0xC9
PID1 : PID0
OTP
Read/Write
0x0716
0xCA : 0xCB
VID1 : VID0
OTP
Read/Write
0x192F
0xCC
MSTR_LEN
OTP
Read/Write
0x0C
0xCD : 0xD8
MSTR_STR
OTP
Read/Write
Avago
0xD9
PSTR_LEN
OTP
Read/Write
0x34
0xDA : 0xF5
PROD_STR
OTP
Read/Write
USB LaserStream(TM) Mouse
0xF6 : 0xF7
DEV_NUM
OTP
Read/Write
0x00
0xFA
OTPLOCK2
OTP
Read/Write
0x00
38
PROD_ID
Access: Read Only
Address: 0x00
Reset Value: 0x37
Bit
7
6
5
4
3
2
1
0
Field
PID7
PID6
PID5
PID4
PID3
PID2
PID1
PID0
Data Type: 8-bit number with the product identifier.
USAGE: The value in this register does not change; it can be used to verify that the sensor communications link is OK.
REV_ID
Access: Read Only
Address: 0x01
Reset Value: 0x01
Bit
7
6
5
4
3
2
1
0
Field
RID7
RID6
RID5
RID4
RID3
RID2
RID1
RID0
Data Type: 8-bit number with current revision of the IC.
USAGE: This register contains the IC revision. It is subject to change when new IC versions are released.
BUT_STAT
Access: Read Only
Address: 0x02
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Reserved
BUT7
BUT6
BUT5
BUT4
BUT3
BUT2
BUT1
Data Type: Bit field
USAGE: This register is included for test purposes only. For navigation use, use the USB HID defined commands. The
button status bits reported are for the debounce signals.
39
Field Name
Description
BUT7
Reports the status of TW2 (Right tilt)
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT6
Reports the status of TW1 (Left tilt)
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT5
When used as a 5 button mouse, reports the status of B5 button pin
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT4
When used as a 5 button mouse, reports the status of B4 button pin
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT3
Reports the status of B3
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT2
Reports the status of B2
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT1
Reports the status of B1
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
DELTA_X_H
Access: Read Only
Address: 0x03
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
X15
X14
X13
X12
X11
X10
X9
X8
DELTA_X_L
Access: Read Only
Address: 0x04
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
X7
X6
X5
X4
X3
X2
X1
X0
Data Type: 16-Bit 2’s Complement Data
USAGE: The value in this register reflects the last USB delta X data output or data queued for output. This register is included for test purposes only. For navigation use, use the HID defined commands Absolute value is determined
by the currently set resolution.
Register read sequence Delta_X_H -> Delta_X_L -> Delta_Y_H -> Delta_Y_L
DELTA_Y_H
Access: Read Only
Address: 0x05
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Y15
Y14
Y13
Y12
Y11
Y10
Y9
Y8
DELTA_Y_L
Access: Read Only
Address: 0x06
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
Data Type: 16-Bit 2’s Complement Data
USAGE: The value in this register reflects the last USB delta Y data output or data queued for output. This register is included for test purposes only. For navigation use, use the HID defined commands. Absolute value is determined
by the currently set resolution.
Register read sequence Delta_X_H -> Delta_X_L -> Delta_Y_H -> Delta_Y_L
MOTZ
Access: Read Only
Address: 0x07
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Z7
Z6
Z5
Z4
Z3
Z2
Z1
Z0
Data Type: 8-Bit field
USAGE: If mouse is configured to contain a Z-wheel, this register contains the Z-wheel count. Range is from –127 to +127
decimal.
40
SQUAL
Access: Read Only
Address: 0x08
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
SQ7
SQ6
SQ5
SQ4
SQ3
SQ2
SQ1
SQ0
Data Type: Upper 8bits of a 10-bit unsigned integer
USAGE: SQUAL (Surface Quality) is a measure of ¼ of the number of valid features visible by the sensor in the current
frame. Use the following formula to find the total number of valid features. The values range from 0 to 144.
Number of features = SQUAL register value * 4
Since small changes in the current frame can result in changes in SQUAL, slight variations in SQUAL on one
surface is expected. The graph below shows 800 sequentially acquired SQUAL values, while a sensor was moved
slowly over white paper. SQUAL is nearly equal to zero, if there is no surface below the sensor. SQUAL is typically maximized when the navigation surface is at the optimum distance from the imaging lens (the nominal
Z-height).
SQUAL Value (White Paper)
Z = 2.4mm, [email protected]" diameter, Speed = 6ips
SQUAL Value (COunt)
40
30
20
10
0
1
51 101 151 201 251 301 351 401 451 501 551 601 651 701 751
Count
Figure 23. SQUAL Values (white paper)
SQUAL vs Z (White Paper)
1000cpi, [email protected]" diameter, Speed = 6ips
40
Avg-3sigma
Avg
Avg+3sigma
SQUAL (Count)
30
20
10
0
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
Figure 24. Mean SQUAL vs. Z (white paper)
41
3.4
SHUT_HI
Access: Read Oly
Address: 0x9
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
S15
S14
S13
S12
S11
S10
S9
S8
SHUT_LO
Access: Read Only
Address: 0x0A
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
S7
S6
S5
S4
S3
S2
S1
S0
Data Type: 16-bit number.
USAGE: The combination of SHUT_HI and SHUT_LO is a 16-bit number. This is the number of clocks the shutter was open
for the last image taken. The units are in main clocks ticks (nominally 24MHz). To avoid split read issues, read
SHUT_Hi first.
Shutter Value (White Paper)
Z = 2.4mm, [email protected]" diameter, Speed = 6ips
60
Shutter Value (Count)
50
40
30
20
10
0
1
51 101 151 201 251 301 351 401 451 501 551 601 651 701 751
Count
Figure 25. Shutter Values (white paper)
Shutter vs Z (White Paper)
1000cpi, [email protected]" diameter, Speed = 6ips
300
Avg-3sigma
Avg
Avg+3sigma
Shutter Value (Count)
250
200
150
100
50
0
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
Figure 26. Mean Shutter vs. Z (white paper)
42
3.4
PIX_MAX
Access: Read Only
Address: 0x0B
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
0
MX6
MX5
MX4
MX3
MX2
MX1
MX0
Data Type: 7-bit number.
USAGE: This is the maximum pixel value from the last image taken.
PIX_ACCUM
Access: Read Only
Address: 0x0C
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
AC7
AC6
AC5
AC4
AC3
AC2
AC1
AC0
Data Type: High 8bits of 17-bit unsigned integer
USAGE: This is the accumulated pixel value from the last image taken. This register is used to find the average pixel value.
For the 24x24 array raw image, only the upper 8bits are reported ([16:9]).
Pixel_Average = PIX_ACCUM / 1.125
PIX_MIN
Access: Read Only
Address: 0x0D
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
0
MN6
MN5
MN4
MN3
MN2
MN1
MN0
Data Type: 8-bit number.
USAGE: This is the minimum pixel value from the last image taken.
43
PIX_GRABBER
Access: Read/Write
Address: 0x0E
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
VALID
PG6
PG5
PG4
PG3
PG2
PG1
PG0
Data Type: 8-bit number.
USAGE: The pixel grabber captures 1 pixel per frame. If there is a valid pixel in the grabber when this is read, the MSB will
be set, an internal counter will incremented to captured the next pixel and the grabber will be armed to capture
the next pixel. It will take 576 reads to upload the completed image. For each pixel read, the register should be
polled (continuously read) until VALID = 1 before the PG [6:0] is taken as valid pixel data. Any write to this register
will reset and arm the grabber to grab pixel 0 on the next image.
The X and Y directions with respect to the mouse case are shown in Figure 27.See pixel array numbering in
Figure 28 that shows the readout order of the array. Rows are read from bottom to top and columns are from
left to right.
Top Xray View of Mouse
LB
P
O
S
I
T
I
V
E
RB
1
22
2
21
3
20
4
19
5
Y
18
6
17
7
16
8
15
9
14
10
13
11
12
POSITIVE X
Figure 27. Directions are for a complete mouse, with the ADNS-6180-001 or ADNS-6180-002 lens
44
Sensor looking at the navigation surface through the ADNS-6180-001 or ADNS-6180-002 lens from top of mouse.
575
551
527
503
479
455
431
407
383
359
335
311
287
263
239
215
191
167
143
119
95
71
47
23
574
550
526
502
478
454
430
406
382
358
334
310
286
262
238
214
190
166
142
118
94
70
46
22
573
549
525
501
477
453
429
405
381
357
333
309
285
261
237
213
189
165
141
117
93
69
45
21
572
548
524
500
476
452
428
404
380
356
332
308
284
260
236
212
188
164
140
116
92
68
44
20
571
547
523
499
475
451
427
403
379
355
331
307
283
259
235
211
187
163
139
115
91
67
43
19
570
546
522
498
474
450
426
402
378
354
330
306
282
258
234
210
186
162
138
114
90
66
42
18
569
545
521
497
473
449
425
401
377
353
329
305
281
257
233
209
185
161
137
113
89
65
41
17
568
544
520
496
472
448
424
400
376
352
328
304
280
256
232
208
184
160
136
112
88
64
40
16
567
543
519
495
471
447
423
399
375
351
327
303
279
255
231
207
183
159
135
111
87
63
39
15
566
542
518
494
470
446
422
398
374
350
326
302
278
254
230
206
182
158
134
110
86
62
38
14
565
541
517
493
469
445
421
397
373
349
325
301
277
253
229
205
181
157
133
109
85
61
37
13
564
540
516
492
468
444
420
396
372
348
324
300
276
252
228
204
180
156
132
108
84
60
36
12
563
539
515
491
467
443
419
395
371
347
323
299
275
251
227
203
179
155
131
107
83
59
35
11
562
538
514
490
466
442
418
394
370
346
322
298
274
250
226
202
178
154
130
106
82
58
34
10
561
537
513
489
465
441
417
393
369
345
321
297
273
249
225
201
177
153
129
105
81
57
33
9
560
536
512
488
464
440
416
392
368
344
320
296
272
248
224
200
176
152
128
104
80
56
32
8
559
535
511
487
463
439
415
391
367
343
319
295
271
247
223
199
175
151
127
103
79
55
31
7
558
534
510
486
462
438
414
390
366
342
318
294
270
246
222
198
174
150
126
102
78
54
30
6
557
533
509
485
461
437
413
389
365
341
317
293
269
245
221
197
173
149
125
101
77
53
29
5
556
532
508
484
460
436
412
388
364
340
316
292
268
244
220
196
172
148
124
100
76
52
28
4
555
531
507
483
459
435
411
387
363
339
315
291
267
243
219
195
171
147
123
99
75
51
27
3
554
530
506
482
458
434
410
386
362
338
314
290
266
242
218
194
170
146
122
98
74
50
26
2
553
529
505
481
457
433
409
385
361
337
313
289
265
241
217
193
169
145
121
97
73
49
25
1
552
528
504
480
456
432
408
384
360
336
312
288
264
240
216
192
168
144
120
96
72
48
24
0
Figure 28. Pixel Address Map of Navigation Surface Image
45
OTP_CONFIG
Access: Read/Write
Address: 0x4C
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
OTP_EN
Data Type: Bit field
USAGE: OTP commands enable/disable. Refer to OTP programming section.
Field Name
Description
OTP_EN
OTP commands
1 = Enabled
0 = Disabled
OTP_ADDR
Access: Read/Write
Address: 0x4D
Reset Value: 0x00
6
5
4
Type: Device
Bit
7
3
2
1
0
Field
OTP_ADDR7 OTP_ADDR6 OTP_ADDR5 OTP_ADDR4 OTP_ADDR3 OTP_ADDR2 OTP_ADDR1 OTP_ADDR0
Data Type: 8-bit number
USAGE: This register is the container of OTP address in OTP read/write command. Refer to OTP programming section.
OTP_DATA
Access: Read/Write
Address: 0x4E
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
OTP_DATA7
OTP_DATA6
OTP_DATA5
OTP_DATA4
OTP_DATA3
OTP_DATA2
OTP_DATA1
OTP_DATA0
Data Type: 8-bit number
USAGE: This register is the container of OTP data value in OTP read/write command. Refer to OTP programming section.
46
OTP_CTRL
Access: Read/Write
Address: 0x4F
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
Reserved
Reserved
LOCK_L2
RD
WR
Data Type: Bit field
USAGE: This register controls the read, write and lock commands of OTP. The commands are auto clear for status check.
Refer to OTP programming section.
Field Name
Description
WR
Enable write command to OTP
1 = Write to OTP
0 = Write command is completed
RD
Enable read command to OTP
1 = Read from OTP
0 = Data is ready to be read from OTP_DATA register
LOCK_L2
Enable OTP lock command
1 = Lock OTP space
0 = Lock command is completed
OTP_CTRLSTAT
Access: Read only
Address: 0x50
Reset Value: Undefined
Type: Device
Bit
7
6
5
4
3
2
Field
Reserved
Reserved
Reserved
Reserved
L2_CRC_OK
L2_LOCK_OK WR_DENIED WR_OK
Data Type: Bit field
USAGE: This register shows the OTP control status. Refer to OTP programming section.
47
Field Name
Description
WR_OK
OTP write status
1 = OK
0 = Failed
WR_DENIED
OTP write access status
1 = Denied
0 = OK
L2_LOCK_OK
OTP lock status
1 = OK
0 = Failed
L2_CRC_OK
CRC test status
1 = OK
0 = Failed
1
0
OTP_RUNSTAT
Access: Read only
Address: 0x51
Reset Value: Undefined
Bit
7
6
5
Field
Reserved
L2_CHECKED L2_LOCK
Type: Device
4
3
2
1
0
L2_USED
Reserved
Reserved
Reserved
DEV_RDY
Data Type: Bit field
USAGE: This register shows the OTP run status. Refer to OTP programming section.
Field Name
Description
DEV_RDY
Device status
1 = Ready, reading or writing to OTP register is allowed
0 = Busy, do not read or write to OTP register yet
L2_USED
OTP space status
1 = Used
0 = Unused
L2_LOCKED
OTP space locking status
1 = Locked
0 = Open
L2_CHECKED
OTP status check
1 = Checked
0 = Unchecked
LSR_CTRL0
Access: Read/Write
Address: 0x75
Reset Value: 0x00
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
0
0
0
0
0
LSR_CW1
0
LSR_CW0
Data Type: Bit field
USAGE: This register is included strictly for test purposes only. It is to be used with LSR_CTRL1 register, 0x76 where
LSR_CW_COMP1 and LSR_CW_COMP0 bits must contain the complement of LSR_CW1 and LSR_CW0 bits in
order to set the laser to continuous (CW) mode. Other bits MUST be set to 0.
Field Name
Description
LSR_CW1 : LSR_CW0
Laser drive mode
11 = CW mode ON
00 = Normal operation in pulse mode
48
LSR_CTRL1
Access: Read/Write
Address: 0x76
Reset Value: 0x0F
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
0
0
0
0
0
LSR_CW_
COMP1
0
LSR_CW_
COMP0
Data Type: Bit field
USAGE: This register is included strictly for test purposes only. It is to be used with LSR_CTRL1 register, 0x76 where
LSR_CW_COMP1 and LSR_CW_COMP0 bits must contain the complement of LSR_CW1 and LSR_CW0 bits in
order to set the laser to continuous (CW) mode. Other bits MUST be set to 0.
Field Name
Description
LSR_CW_COMP1 :
LSR_CW_COMP0
MUST be complement of LSR_CW[1-0] bit in register 0x75
INV_REV_ID
Access: Read only
Address: 0x7E
Reset Value: 0xFE
Type: Device
Bit
7
6
5
4
3
2
1
0
Field
INV_RID7
INV_RID6
INV_RID5
INV_RID4
INV_RID3
INV_RID2
INV_RID1
INV_RID0
Data Type: 8-bit number with current revision of the IC.
USAGE: Contains the inverse of the revision ID which is located in register 0x01.
L2_USE_OTP
Access: Read/Write
Address: 0xBB
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
L2_USE_
OTP7
L2_USE_
OTP6
L2_USE_
OTP5
L2_USE_
OTP4
L2_USE_
OTP3
L2_USE_
OTP2
L2_USE_
OTP1
L2_USE_
OTP0
Data Type: 8-bit field.
USAGE: Bypass OTP configuration if all bits are zero. MUST write 0xFF to this register to enable OTP operation. Once
enabled, all OTP registers must be written as the default values are zero value.
49
CPI_SET0
Access: Read/Write
Address: 0xBC
Reset Value: 0x0A
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
CPI04
CPI03
CPI02
CPI01
CPI00
Data Type: 8-Bit field
USAGE: This register sets the default resolution setting when the sensor is powered up. It is also the default 1st resolution setting (S1) when On-the-Fly (OTF) resolution mode is enabled. The performance of max setting is surface
dependent. The resolution settings shown below are approximate values.
CPI0[4:0]
Approximate Resolution (cpi)
CPI0[4:0]
Approximate Resolution (cpi)
00000-00011
Reserved
01111
1500
00100
400
10000
1600
00101
500
10001
1700
00110
600
10010
1800
00111
700
10011
1900
01000
800
10100
2000
01001
900
10101
2100
01010
1000
10110
2200
01011
1100
10111
2300
01100
1200
11000
2400
01101
1300
11001-11111
Reserved
01110
1400
CPI_SET1
Access: Read/Write
Address: 0xBD
Reset Value: 0x10
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
CPI14
CPI13
CPI12
CPI11
CPI10
Data Type: 8-Bit field
USAGE: This register sets the 2nd resolution setting (S2) when On-the-Fly (OTF) resolution mode is enabled. The performance of max setting is surface dependent. Refer to resolution table in CPI_SET0.
50
CPI_SET2
Access: Read/Write
Address: 0xBE
Reset Value: 0x05
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
CPI24
CPI23
CPI22
CPI21
CPI20
Data Type: 8-Bit field
USAGE: This register sets the 3rd resolution setting (S3) when On-the-Fly (OTF) resolution mode is enabled. The performance of max setting is surface dependent. Refer to resolution table in CPI_SET0.
MOTCONFIG1
Access: Read/Write
Address: 0xBF
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
MF1
MF0
Data Type: Bit field
USAGE: This register allows configuration of USB motion reporting format. 12-bit or 16-bit is the recommended motion
reporting format to achieve the optimum performance of the sensor. 8-bit is the optional setting for the system
supporting 8-bit motion reporting only and it will have trade off on speed performance.
Field Name
Description
MF1-0
Sets USB motion reporting format
00 = 12-bit
01 = 8-bit
10 = 16-bit
11 = Reserved
51
ROTATION
Access: Read/Write
Address: 0xC0
Reset Value: 0x07
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
Reserved
Reserved
SWAP_XY
INV_X
INV_Y
Data Type: Bit field
USAGE: This register can be used to re-orientate the sensor motion reporting direction. The SWAP_XY operation is always
performed before INV_X and INV_Y inversion operations.
Field Name
Description
SWAP_XY
1 = Swap X and Y axis motion data report direction
INV_X
1 = Invert X axis motion data report direction
INV_Y
1 = Invert Y axis motion data report direction
Rotation
SWAP
INV_X
INV_Y
0
1
1
1
90
0
0
1
180
1
0
0
270
0
1
0
BEFORE Rotation
10
+Y
12
13
14
15
16
17
14
4
9
20
15
19
+Y
18
+X
13
21
3
+Y
8
16
18
+X
17
17
7
6
19
14
+Y
20
13
11
10
9
8
7
6
5
4
1
18
15
3
22
21
20
19
18
17
16
15
14
13
12
16
8
2
6
7
5
5
19
12
11
+X
20
1
2
3
4
22
2
270°
180°
5
6
7
8
9
10
11
1
21
90°
22
0°
21
4
9
3
10
+X
2
11
22
12
1
AFTER Rotation
Y direction of HID is always inverted from actual motion.
90°
180°
+X
12
13
14
15
16
17
18
19
13
14
20
9
4
15
19
+Y
16
18
+Y
8
7
17
17
15
19
14
+X
20
13
21
4
9
3
11
+Y
22
12
2
10
1
Figure 29. XY Motion Reporting Direction when Lens is attached on the Sensor
11
10
9
8
7
6
5
4
3
1
18
22
21
20
19
18
17
16
15
14
13
12
16
8
2
6
7
5
+Y
6
52
+X
10
21
3
5
20
11
+X
21
12
22
2
270°
1
2
3
4
5
6
7
8
9
10
11
1
22
0°
DEVCONFIG
Access: Read/Write
Address: 0xC1
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
KM1
KM0
OTF1
OTF0
0
0
0
0
Data Type: Bit field
USAGE: This register is used to enable the OTF resolution and KeyMap (KM) modes in the OTP. Refer to Table 4 on OTF
Resolution and KeyMap Mode Configurations for details.
Field Name
Description
OTF1-0
Set OTF mode.
00 / 11 = Disabled
10 / 01 = Enabled
KM1-0
KM mode
00 / 11 = Disabled
10 / 01 = Enabled
53
CODEA_KEY1
Access: Read/Write
Address: 0xC2
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Data Type: Bit field
USAGE: This register is used together with CODEA_KEY2 register to form CodeA for KM1 output. It is the KeyMap modifier key setting.
CodeA = CODEA_KEY1 + CODEA_KEY2
For 3D flip application, CodeA = Alt + Tab
CODEA_KEY1 = 0x40 (R-Alt = 1) or 0x04 (L-Alt = 1)
CODEA_KEY2 = 0x2B (Tab key)
Field Name
Description
R-Gui
Microsoft logo GUI key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Alt
Alt key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Shift
Shift key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Ctrl
Ctrl key on the right side of keyboard
0 = Disabled
1 = Enabled
L-Gui
Microsoft logo GUI on the left side of keyboard
0 = Disabled
1 = Enabled
R-Alt
Alt key on the left side of keyboard
0 = Disabled
1 = Enabled
R-Shift
Shift key on the left side of keyboard
0 = Disabled
1 = Enabled
R-Ctrl
Ctrl key on the left side of keyboard
0 = Disabled
1 = Enabled
54
CODEB_KEY1
Access: Read/Write
Address: 0xC3
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
R-Gui
R-Alt
R-Shift
R-Ctrl
L-Gui
L-Alt
L-Shift
L-Ctrl
Data Type: Bit field
USAGE: This register is used together with CODEB_KEY2 register to form CodeB for KM2 output. It is the KeyMap modifier key setting.
CodeB = CODEB_KEY1 + CODEB_KEY2
For Windows Security Logon/Logout application, CodeB = Alt + Ctrl + Del
CODEB_KEY1 = 0x05 (L-Alt = 1, L-Ctrl = 1)
CODEB_KEY2 = 0x4C (Del key)
Field Name
Description
R-Gui
Microsoft logo GUI key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Alt
Alt key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Shift
Shift key on the right side of keyboard
0 = Disabled
1 = Enabled
R-Ctrl
Ctrl key on the right side of keyboard
0 = Disabled
1 = Enabled
L-Gui
Microsoft logo GUI on the left side of keyboard
0 = Disabled
1 = Enabled
R-Alt
Alt key on the left side of keyboard
0 = Disabled
1 = Enabled
R-Shift
Shift key on the left side of keyboard
0 = Disabled
1 = Enabled
R-Ctrl
Ctrl key on the left side of keyboard
0 = Disabled
1 = Enabled
55
CODEA_KEY2
Access: Read/Write
Address: 0xC4
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
SC_A7
SC_A6
SC_A5
SC_A4
SC_A3
SC_A2
SC_A1
SC_A0
Data Type: 8-Bit number
USAGE: This register is used together with CODEA_KEY1 register to form CodeA for KM1 output. Any keyboard key scan
codes listed in Keyboard Scan Code Specification Windows Platform Design Notes can be used but only limited
to one scan code.
CodeA = CODEA_KEY1 + CODEA_KEY2
For 3D flip application, CodeA = Alt + Tab
CODEA_KEY1 = 0x40 (R-Alt = 1) or 0x04 (L-Alt = 1)
CODEA_KEY2 = 0x2B (Tab key)
CODEB_KEY2
Access: Read/Write
Address: 0xC5
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
SC_A7
SC_A6
SC_A5
SC_A4
SC_A3
SC_A2
SC_A1
SC_A0
Data Type: 8-Bit number
USAGE: This register is used together with CODEA_KEY1 register to form CodeA for KM2 output. Any keyboard key scan
codes listed in Keyboard Scan Code Specification Windows Platform Design Notes can be used but only limited
to one scan code.
CodeB = CODEB_KEY1 + CODEB_KEY2
For Windows Security Logon/Logout application, CodeB = Alt + Ctrl + Del
CODEB_KEY1 = 0x05 (L-Alt = 1, L-Ctrl = 1)
CODEB_KEY2 = 0x4C (Del key)
LONGPRESS
Access: Read/Write
Address: 0xC6
Reset Value: 0x10
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
L_Press7
L_Press6
L_Press5
L_Press4
L_Press3
L_Press2
L_Press1
L_Press0
Data Type: 8-Bit number
USAGE: This register is used to set the button press duration for OTF_L. The press duration is range from 16ms to 4s. Each
bit step change is 16ms.
56
TW_CONFIG
Access: Read/Write
Address: 0xC7
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
TW_NEN
Data Type: Bit field
USAGE: This register is used to set the Tilt Wheel mode for horizontal scrolling.
Field Name
Description
TW_NEN
Set Tilt Wheel mode
0 = Enabled
1= Disabled
PID0
Access: Read/Write
Address: 0xC8
Reset Value: 0x16
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
PID7
PID6
PID5
PID4
PID3
PID2
PID1
PID0
PID1
Access: Read/Write
Address: 0xC9
Reset Value: 0x07
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
PID15
PID14
PID13
PID12
PID11
PID10
PID9
PID8
Data Type: 16-Bit number
USAGE: These registers are used to customize device USB PID. Default is Avago’s PID = 0x0716.
VID0
Access: Read/Write
Address: 0xCA
Reset Value: 0x2F
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
VID7
VID6
VID5
VID4
VID3
VID2
VID1
VID0
VID1
Access: Read/Write
Address: 0xCB
Reset Value: 0x19
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
VID15
VID14
VID13
VID12
VID11
VID10
VID9
VID8
Data Type: 16-Bit number
USAGE: These registers are used to customize device VID. Default is Avago’s VID = 0x192F.
57
MSTR_LEN
Access: Read/Write
Address: 0xCC
Reset Value: 0x0C
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
MSTR_LEN7
MSTR_LEN6
MSTR_LEN5
MSTR_LEN4
MSTR_LEN3
MSTR_LEN2
MSTR_LEN1
MSTR_LEN0
Data Type: 8-bit number.
USAGE: Specifies the manufacturing string description length in bytes inclusive (plus 1 for descriptor type). One character = 2 bytes.
Number of bytes = 1 MSTR_LEN + 2 *(MFR_STR characters) + 1 descriptor type
Default: Number of bytes = 1 + (2 * 5) + 1 = 12 = 0x0C
MFR_STR0 to MFR_STR11
Access: Read/Write
Address: 0xCD to 0xD8
Reset Value: "Avago"
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
MFR_STR7
MFR_STR6
MFR_STR5
MFR_STR4
MFR_STR3
MFR_STR2
MFR_STR1
MFR_STR0
Data Type: 12 bytes number
USAGE: These registers allow maximum of 11 characters in ASCII. Default = “Avago”
Default Value
58
Register Name
Address
ASCII
Character
MFR_STR0
0xCD
0x41
“A”
MFR_STR1
0xCE
0x76
“v”
MFR_STR2
0xCF
0x61
“a”
MFR_STR3
0xD0
0x67
“g”
MFR_STR4
0xD1
0x6F
“o”
MFR_STR5
0xD2
0x00
Null
MFR_STR6
0xD3
0x00
Null
MFR_STR7
0xD4
0x00
Null
MFR_STR8
0xD5
0x00
Null
MFR_STR9
0xD6
0x00
Null
MFR_STR10
0xD7
0x00
Null
MFR_STR11
0xD8
0x00
Null
PSTR_LEN
Access: Read/Write
Address: 0xD9
Reset Value: 0x34
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
PSTR_LEN7
PSTR_LEN6
PSTR_LEN5
PSTR_LEN4
PSTR_LEN3
PSTR_LEN2
PSTR_LEN1
PSTR_LEN0
Data Type: 8-bit number.
USAGE: Specifies the product string description length in bytes inclusive (plus 1 for descriptor type). One character = 2
bytes.
Number of bytes = 1 PSTR_LEN + 2 *(PROD_STR characters) + 1 descriptor type
Default: Number of bytes = 1 + (2 * 25) + 1 = 52 = 0x34
PROD_STR0 to PROD_STR28
Access: Read/Write
Address: 0xDA to 0xF5
Reset Value: "USB LaserStream(TM) Mouse"
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
PROD_STR7
PROD_STR6
PROD_STR5
PROD_STR4
PROD_STR3
PROD_STR2
PROD_STR1
PROD_STR0
Data Type: 28 bytes number
USAGE: These registers allow maximum of 28 characters in ASCII. Default = “USB LaserStream(TM) Mouse”
Default Value
59
Default Value
Register Name
Address
ASCII
Character
Register Name
Address
ASCII
Character
PROD_STR0
0xDA
0x55
“U”
PROD_STR14
0xE8
0x6D
“m”
PROD_STR1
0xDB
0x53
“S”
PROD_STR15
0xE9
0x28
“(“
PROD_STR2
0xDC
0x42
“B”
PROD_STR16
0xEA
0x54
“T”
PROD_STR3
0xDD
0x20
““
PROD_STR17
0xEB
0x4D
“M”
PROD_STR4
0xDE
0x4C
“L”
PROD_STR18
0xEC
0x29
“)”
PROD_STR5
0xDF
0x61
“a”
PROD_STR19
0xED
0x20
““
PROD_STR6
0xE0
0x73
“s”
PROD_STR20
0xEE
0x4D
“M”
PROD_STR7
0xE1
0x65
“e”
PROD_STR21
0xEF
0x6F
“o”
PROD_STR8
0xE2
0x72
“r”
PROD_STR22
0xF0
0x75
“u”
PROD_STR9
0xE3
0x53
“S”
PROD_STR23
0xF1
0x73
“s”
PROD_STR10
0xE4
0x74
“t”
PROD_STR24
0xF2
0x65
“e”
PROD_STR11
0xE5
0x72
“r”
PROD_STR25
0xF3
0x00
Null
PROD_STR12
0xE6
0x65
“e”
PROD_STR26
0xF4
0x00
Null
PROD_STR13
0xE7
0x61
“a”
PROD_STR27
0xF5
0x00
Null
DEV_NUM0
Access: Read/Write
Address: 0xF6
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
DEV7
DEV6
DEV5
DEV4
DEV3
DEV2
DEV1
DEV0
DEV_NUM1
Access: Read/Write
Address: 0xF7
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
DEV15
DEV14
DEV13
DEV12
DEV11
DEV10
DEV9
DEV8
Data Type: 16-Bit number
USAGE: These registers are used to customize device number, which is optional to be assigned by manufacturer.
OTPLOCK2
Access: Read/Write
Address: 0xFA
Reset Value: 0x00
Type: OTP
Bit
7
6
5
4
3
2
1
0
Field
OTPLOCK27
OTPLOCK26
OTPLOCK25
OTPLOCK24
OTPLOCK23
OTPLOCK22
OTPLOCK21
OTPLOCK20
Data Type: 8-bit field.
USAGE: Must write 0xFF in this register to lock the OTP configuration. Warning: Other values will cause the sensor to be
malfunction.
For product information and a complete list of distributors, please go to our web site:
www.avagotech.com
Avago, Avago Technologies, and the A logo are trademarks of Avago Technologies in the United States and other countries.
Data subject to change. Copyright © 2005-2011 Avago Technologies. All rights reserved.
AV02-1883EN - October 24, 2011