ADNS-7700
One chip USB LaserStream™ Mouse Sensors
Data Sheet
Description
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.
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 as-
sembly. 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.
The motion output is a selectable 8/12/16-bit USB data re-
porting 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.
Theory of Operation
The ADNS-7700 is based on Laser-Stream navigation tech-
nology that measures changes in position by optically ac-
quiring sequential surface images (per frames) and math-
ematically 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 direc-
tion and distance of motion. The DSP generates the 'x
and 'y relative displacement values which are converted
to USB motion data.
Features
x One chip USB laser mouse sensor with VCSEL integrated
in single package
x LaserStream™ navigation technology
x USB 2.0 Low Speed Compliance
x Meets HID Revision 1.11
x Single 5.0 volts power supply
x 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
x High speed motion detection at 45 inches per second
(ips) and acceleration up to 20g
x Input buttons: 3 or 5-buttons
x Mechanical Z-Wheel interface for vertical scroll
x 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
– Resolution
x Programmable from 400-2400 counts per inch (cpi)
with ~100cpi incremental step
x 3 selections of On-the-Fly (OTF) resolution mode
setting
x KeyMap (KM) for keyboard shortcut key
x Customizable VID, PID, Manufacturer string and
Product string
x 4-axis sensor rotations: 0°, 90°, 180° or 270°
Applications
x Corded laser mice
x Integrated input devices
* Disclaimer: All designers and manufacturers of this design must assure
that they have all necessary intellectual property rights
2
Ordering Part Numbers:
Part Number
Description for USB LaserStream Mouse Sensor
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
Figure 1. Device Pinout
Package 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
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
A7700-HxMY
XYYWWZV
X = Subcon Code
YYWW = Date Code
Z = Sensor Die Source
V = VCSEL Die Source
3
Table 2a. Device Pinout Configurations
Pin
No
ADNS-7700-H4MY ADNS-7700-HAMYADNS-7700-HCMY
3B 3B + TW 3B 3B + TW
3B + OTF +
3LED
3B + TW +
OTF 5B5B + TW 5B + OTF
4B + TW +
OTF
1 +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL +VCSEL
2NC TW2*NC TW2*LED0 TW2* NC TW2*OTF TW2*
3NC 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 VDD5VDD5 VDD5VDD5 VDD5 VDD5 VDD5VDD5 VDD5
7 REFC REFC REFC REFC REFC REFC REFC REFC REFC REFC
8ZA ZAZA ZAZA ZA ZA ZAZA ZA
9ZB ZBZB ZBZB ZB ZB ZBZB 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
15NC NC NC NC OTF OTF B5 B5B5 OTF
16NC NC NC NC LED2 NC B4 B4B4 B4
17 B3 B3B3 B3B3 B3 B3 B3B3 B3
18 B2 B2B2 B2B2 B2 B2 B2B2 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
4
Table 2b. Device Pinout Configurations
Pin
No
ADNS-7700-HMMY
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
2NC TW2*KM1/OTF_L KM1/OTF_L TW2* TW2* TW2*
3NC 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 VDD5VDD5 VDD5 VDD5 VDD5 VDD5
7 REFC REFC REFC REFC REFC REFC REFC
8ZA ZAZA ZA ZA ZA ZA
9ZB ZBZB 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 B5B5 B5 KM1/OTF_L KM1/OTF_L KM1/OTF_L
16 B4 B4B4 B4 B4 NC KM2
17 B3 B3B3 B3 B3 B3 B3
18 B2 B2B2 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.
5
Pin 1
9.10
0.358 0.85
0.033
0.85
0.033
19.80
0.780
4.42
0.1741.67
0.066
4.05
0.159
0.50
0.020
2.52
0.099
0.20
0.008
12.70
0.500(At shoulder)
12.70 ± 0.40
0.500 ± 0.016(At lead tip)
A
A
Section A-A
4.55
0.179
7.27
0.286
4.60
0.181
1.78
0.070
0.89
0.035
0.50
0.020
VCSEL Center
Optical Center
22X
( )
( )
VCSEL Sensor Reference PlaneSensor
Notes:
1. Dimension in millimeters (inches).
2. Dimensional tolerance: ±0.1mm.
3. Coplanarity of lead: 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 ( ) indicates reference dimension.
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.
6
Assembly Drawings
Figure 3. 2D assembly drawing of ADNS-7700 sensor coupled with ADNS-6180-002 lens, PCB & base plate
Guide post B
A
A
Guide post A
Navigation Surface
Section A-A
Top of PCB to Surface 7.40
0.291
Bottom of lens to Surface 2.40
0.095
Top of sensor to Surface 9.05
0.356
PCB thickness 0.60
0.063
3 3
7
Customer’s Base Plate with
Recommended Features
ADNS-7700 Sensor
Customer’s PCB
ADNS-6180-002 Lens
Figure 5. Exploded view drawing of ADNS-7700 sensor coupled with ADNS-6180-002 lens, PCB & base plate
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.
The integrated VCSEL is used for the illumination, provides
a laser diode with a single longitudinal and a single trans-
verse 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 pre-
cision molded optical component and should be handled
with care to avoid scratching and contamination on the
optical surfaces.
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 avail-
able.
Optical center
Pin #1
7.27
0.286
0
019.40
0.764
0.71
0.028
6.25
0.246
12.50
0.492
10.95
0.431
1.78
0.070
10X
0.70
0.028
22X ø
1.10
0.043
øPad ring
1.55
0.061
Dimensions in mm/inches
Figure 4. Recommended PCB mechanical cutouts and spacing
8
Application Schematics
Mechanical Z-Wheel
Q1
ZBQB
ZAQA
COM
P16 = B4/KM2
P16
SW4
P3 = TW1/KM2
P3
SW6
P2 = TW2/OTF/OTF_L/KM1
P2
SW7
SW1
SW2
SW3
(21) D+
(20) D-
(3) TW1*/KM2/
LED1/NC
(2) TW2*/OTF/OTF_L
LED0/NC
(18) B2
(17) B3
(16) B4/KM2/
LED2/NC
(15) B5/OTF/OTF_L
KM1
--VCSEL (22)
+VCSEL (1)
VDD 5 (6)
REFA (11)
REFC (7)
ZB (9)
ZA (8)
DGND (12)
LASER_GND (4)
AGND (10)
OSC_OUT (13)
OSC_IN (14)
(5) REFB
R1
1.5K
±1%
C1
0.1uF
C2
3.3uF
C7
3.3uF
U1
ADNS-7700-HxMY
J1
USB
VDD
GND
D+
D-
SHIELD
(19) B1
ZA
+5.0V
ZB
Refer to notes
on grounding layout
P16
SW5
P3
P2
Connect REFC pin
to 50mm length
trace within the
DGND plane
+5.0V
P16
D2D3D4
P3P2
R6
240
R5
240
R7
240
ADNS-7700-HAMY
P16 = LED2, P3 = LED1, P2 = LED0
C9
100pF
C10
100pF
C3
470pF
C5
4.7uF
C6
0.1uFC4
0.1uF
X1
24MHz
+5.0V
Figure 6. ADNS-7700 Sensors Application Schematics
* DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
9
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 im-
provement. 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. 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.
3. Place the lens onto the base plate. Care must be taken
to avoid contamination and scratches on the optical
surfaces.
4. 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.
5. 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.
6. Optional: The lens can be permanently locked to the
sensor package by melting the lens’ guide posts over
the sensor with heat staking process.
7. 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-6180-
001 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, cya-
noacrylate 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
x Passes FCC B and worldwide analogous emission limits
when assembled into a mouse with unshielded cable
and following Avago Technologies recommendations.
x Passes EN 61000-4-4/IEC 801-4 EFT tests when
assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
x 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.
x Passes IEC/EN 60825-1 Class-1 Eye Safety when ADNS-
7700 is driving the laser using ADNS-6180-001 or
ADNS-6180-002 lens with recommended operating
conditions.
10
Block Diagram
ZB
ZA
IMAGE
PROCESSOR
Z-WHEEL
POWER
ON
RESET V
O
L
T
A
G
E
R
E
G
U
L
A
T
O
R
LASER_GND
VCSEL +VE
OSCILLATOR
OSC_IN
OSC_OUT
D
D +
USB
PORT
5-VOLT
USB VBUS
POWER
B4
B3
B1
B5
REFC
LASER
DRIVE
OSCILLATOR
CONTROL AND
I/O PROCESSOR
TW1
TW2
B2
REFA
REFB
VDD5
DGND
AGND
VCSEL  VE
VOLTAGE
REFERENCE
VCSEL
LASER
BUTTONS
TILT WHEEL*
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 manufac-
turer site.
ADNS-7700 sensor is designed to maintain the laser
output power using ADNS-6180-002 lens within Class 1
requirements over components manufacturing toleranc-
es under the recommended operating conditions and ap-
plication circuit of Figure 6 as specified in this document.
Under normal operating conditions, the sensor gener-
ates 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 PW. For more
information, please refer to Eye Safety Application Note.
Laser Output Power
The laser output power,LOP can be measured at the navi-
gation 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-
ing 506PW, otherwise the LOPmax limit in the Absolute
Maximum Rating is applicable.
The following conditions apply:
1. The system is operated based on the recommended
application circuit in Figure 6 and within the recom-
mended operating conditions.
2. Measurement is taken at the optical center and illumi-
nation angle on navigation surface plane, Z.
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 exces-
sive 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 re-
sistive 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 check-
ing 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.
11
LASER_GND
ADNS-7700
LASER
DRIVE
VCSEL
USB
Port
voltage
sense
current
set
VDD3
fault control
block +VCSEL
VCSEL
LASER_NEN
VDD3
XYLASER
Figure 8. Single Fault Detection and Eye Safety Feature Block Diagram
Absolute Maximum Ratings
Parameter Symbol Minimum Maximum Units Notes
Storage Temperature TS-40 85 °C
Lead Solder Temperature 260 °C For 7 seconds, 1.6mm below seating plane.
Refer to soldering reflow profile in PCB Assembly
& Soldering Considerations Application Note
AN 5023.
Supply Voltage VDD -0.5 5.5 V
ESD 2 kV All pins, human body model
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 0V
DD V D+, D-, see USB specification (7.1.1)
Laser Output Power LOPmax 716 PW 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.
12
Recommended Operating Conditions
Parameter Symbol Minimum Typical Maximum Units Notes
Operating Temperature TA040°C
Power Supply Voltage VDD 4.4 5.0 5.25 Volts For accurate navigation and
proper USB operation
Power Supply Rise Time VRT 0.1 100 ms
Power Supply Noise VN100 mVp-p Peak to peak within
50kHz-100MHz bandwidth
Velocity Vel 45 ips
Acceleration Acc 20 g In Run Mode only
Clock Frequency fclk 23.64 24.00 24.36 MHz Due to USB timing constraints
Resonator Impedance XRES 55 :
Distance from lens reference
plane to surface
Z 2.18 2.40 2.62 mm See Figure 9
Frame Rate 8000 fps Internally adjusted by sensor
VCSELs Peak Wavelength O832 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 Min. Typical Max. Units Notes
Wakeup delay from rest
mode due to motion
TWUPP 2ms
Power up delay TPUP 50 ms Delay measured from VBUS=4.4V
Debounce delay on button
inputs
TDBB 69 ms
Z-Wheel sampling period TSW 1.9 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 > 500Ps rise time.
Does not include charging currents for
bypass capacitors.
13
DC Electrical Specifications
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V,
Parameter Symbol Minimum Typical Maximum Units Notes
Run Mode System Current
(Mouse moving)
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 PA Includes D- pullup resistor
Input Low Voltage VIL 0.5 V Pins: ZA, ZB
0.2*VREFB V Pins: B1-B5, TW1, TW2
Input High Voltage VIH 0.6*VDD V Pins: ZA, ZB
0.8* VREFB V Pins: B1-B5, TW1, TW2
Input Hysteresis VHYST 230 mV Pins: B1-B5, TW1, TW2
Button Pull Up Current BIOUT 100 300 500 PA 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 V
Input High (Floating) VIHZ 2.7 3.6 V
Input Low VIL 0.8 V 1.5k: to VREFB on D-
Differential Input Sensitivity VDI 0.2 V |(D+)-(D-)| See Figure 12
Differential Input Common
Mode Range
VCM 0.8 2.5 V Includes VDI, See Figure 12
Single Ended Receiver Threshold VSE 0.8 2.0 V
Transceiver Input Capacitance CIN 12 pF D+ to VBUS, D- to VBUS
14
USB Timing Specifications
Timing Specifications over recommended operating conditions.
Parameter Symbol Minimum Maximum Units Notes
D+/D- Transition rise time TLR 75 ns CL = 200 pF (10% to 90%), see Figure 10
D+/D- Transition rise time TLR 300 ns CL = 600 pF (10% to 90%), see Figure 10
D+/D- Transition fall time TLF 75 ns CL = 200 pF (90% to 10%), see Figure 10
D+/D- Transition fall time TLF 300 ns CL = 600 pF (90% to 10%), see Figure 10
Rise and Fall time matching TLRFM 80 125 % TR/TF; CL = 200 pF; Excluding the
first transition from the Idle State
Wakeup delay from USB suspend
mode due to buttons push
TWUPB 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
TWUPN 50 ms Delay from button push to navigation
operation
Only required if remote wakeup enabled
USB reset time Treset 18.7 Ps
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 1.50 Ps
Width of SE0 interval during
Differential Transition
tLST 210 ns See Figure 11.
Differential Output Jitter tUDJ1 -95 95 ns To next transition, see Figure 15
Differential Output Jitter tUDJ2 -150 150 ns For paired transitions, see Figure 15
15
Figure 10. Data Signal Rise and Fall Times
VCRS
10%10%
90%90%
TLR
Rise Time
TLF
Fall Time
VOL
VOH D+
D
VOH (min)
VOL (max)
One Bit Time (1.5 MB/s)
GND
VIH (min)
VIL (max)
Minimal Reflectance
and Ringing
tLST
Figure 11. Data Signal Voltage Levels
-1.0 0.0 0.20.40.60.81.0 1.21.41.61.82.0 2.22.4 2.6 2.83.0 3.24.6
Differential Input Voltage Range
Differential Output
Crossover
Voltage Range
Input Voltage Range (volts)
Figure 12. Differential Receiver Input Sensitivity vs. Common Mode Input Range
16
TDJR1 TDJR2
TDJR
TPERIOD
Consecutive Transitions
N* TPERIOD + TDJR1
Paired Transitions
N* TPERIOD + TDJR2
Figure 13. Receiver Jitter Tolerance
TPERIOD
Differential
Data Lines
Differential Data
to SEO Skew
N* TPERIOD + TLDEOP
Crossover Point
Crossover Point
Extended
Source EOP Width: TLEOPT
Receiver EOP Width: TLEOPR
TPERIOD
Differential
Data Lines
Consecutive Transitions
N* TPERIOD + TUDJ1
Paired Transitions
N* TPERIOD + TUDJ2
Figure 14. Differential to EOP Transition Skew and EOP Width
Figure 15. Differential Output Jitter
17
One-Time-Programmable (OTP) Memory
The on chip OTP memory allows device configuration flex-
ibility to override the default setting of ADNS-7700 sensors
without any external software driver. Once the OTP op-
eration is enabled, all OTP registers must be programmed
accordingly as the default values of un-program OTP reg-
isters 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 address space is from 0x80 to 0xFE. OTP can be pro-
grammed via USB interface using Set Vendor Test and Get
Vendor Test commands.
Figure 16. OTP Byte Write Flow Chart
OTP Byte Write Operation
OTP write operation flow chart is shown in Figure 16.
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.
5. Read the write enable bit status in OTP_CTRL register,
0x4F. If WR = 1, repeat reading the bit status until it is
clear.
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.
Write OTP addr byte
bit = 0?
Start
Write OTP data byte
Write OTP enable bit
Write OTP program bit
Read OTP program bit
No
Read OTP status bit
bit = 1? No Repeat = 10?
No
Yes
OTP write fail
Yes
More bytes?
Yes
Yes
Repeat = 1
Repeat = repeat + 1
Bad chip
OTP write pass
Done
No
0x4C: OTP_CONFIG [0] = 1
0x4D: OTP_ADDR [7:0]
0x4E: OTP_DATA [7:0]
0x4F: OTP_CTRL [0] = 1
0x50: OTP_CTRLSTAT [0]
0x4F: OTP_CTRL [0]
18
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.
Figure 17. OTP Byte Read Flow Chart
4. Read the read enable bit status in OTP_CTRL register,
0x4F. If RD = 1, repeat reading the bit status until it is
clear.
5. Read the OTP data byte from OTP_DATA register, 0x4E
to complete the OTP read operation.
6. Repeat Step 2 for more OTP read operations.
Write OTP addr byte
bit = 0?
Start
Write OTP enable bit
Write OTP read bit
Read OTP read bit
No
Read OTP data
More bytes?
Yes
0x4C: OTP_CONFIG [0] = 1
0x4D: OTP_ADDR [7:0]
Yes
Done
No
OTP read done
0x4F: OTP_CTRL [1] = 1
0x4E: OTP_DATA [7:0]
0x4F: OTP_CTRL [1]
19
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.
Figure 18. OTP Byte Lock Flow Chart
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.
Done
Write OTP lock bit
Read OTP lock bit
bit = 0?
Read lock status bit
lock & crc = 1?
Repeat = 10? No
Yes
OTP lock fail
No
Yes
No
Yes
Repeat = 1
Repeat = repeat + 1
Bad chip
OTP Write 0xFF to
OTPLOCK2 register,
0xFA
Write OTP enable bit
Read CRC status bit
OTP locked
0x4C: OTP_CONFIG [0] = 1
0x4F: OTP_CTRL [2] = 1
0x4F: OTP_CTRL [2]
0x50: OTP_CTRLSTAT [2]
0x50: OTP_CTRLSTAT [3]
20
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 100PA 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.
Debounce Algorithm
x Button inputs B1, B2, B3, B4, B5, TW1 and TW2 are
sampled every 2ms.
x Three consecutive low values create a button press
event.
x Three consecutive high values create a button release
event.
Z-Wheel
ADNS-7700 is designed to be used with mechanical Z-
Wheel 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 en-
coders come with lower sensitivity.
On-the-Fly (OTF) Resolution Mode
The ADNS-7700-HAMY, ADNS-7700-HCMY and ADNS-
7700-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 reg-
ister 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 se-
quence 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 dis-
played 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 transis-
tor (BJT) which when ON connects VDD to the LED.
The button click for OTF mode in ADNS-7700-HMMY re-
quires long press. The long press timing is configurable via
LONGPRESS register, 0xC6 with default timing of 0.256s.
Figure 19. OTF Resolution Mode State Machine
S0
CPI_SET0
S1
CPI_SET1
S2
CPI_SET2
OTF button
1st pressed
OTF button
2nd pressed
OTF button 3rd pressed
Table 3. OTF LED Indication Status for ADNS-7700-HAMY
State Sequence Current State Status
Previous Current LED0 LED1 LED2
S2 S0 High Low Low
S0 S1 Low High Low
S1 S2 Low Low High
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 ap-
plications, 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 comple-
ment 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 combi-
nation (eg. Alt+Tab, Alt+Ctrl+Del).
CodeA = CODEA_KEY1 register, 0xC2 + CODEA_KEY2 reg-
ister, 0xC4
CodeB = CODEB_KEY1 register, 0xC3 + CODEB_KEY2 reg-
ister, 0xC5
CODEA_KEY1 and CODEB_KEY1 registers consist of 8 pre-
defined 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 key-
board 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
21
Table 4. Resolution and KeyMap Mode OTP Configurations
Part Number
Configuration
Options
REG
0xC7
REG
0xC1
REG
0xC1 Pinout Configurations
TW_NEN OTF1-0 KM1-0 B1 B2B3B4B5TW1 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
ADNS-7700-HAMY 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 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
ADNS-7700-HCMY 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
ADNS-7700-HMMY 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
+ KM2
1 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
22
Resolution Vs. Z
Straight line at 45deg, Path length = 4inches, Speed = 6ips, Resolution = 1000cpi
0
200
400
600
800
1000
1200
1.61.82.0 2.22.42.62.83.0 3.23.4
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
Resolution (cpi)
White Paper
Photo Paper
Manila
Spruce Wood
Black Formica
White Formica
White Delrin
White Paper
Photo Paper
Manila
Spruce Wood
Black Formica
White Formica
White Delrin
Typical Path Deviation
Largest Single Perpendicular Deviation from a Straight line at 45deg,
Path length = 4inches, Speed = 6ips, Resolution = 1000cpi
0
10
20
30
40
50
60
1.61.82.0 2.22.42.62.83.0 3.23.4
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
Maximum Distance
(Mouse Counts)
Relative Responsivity Vs. Wavelength
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
400 440480520560600 640680720760800 8408809209601000
Wavelength (nm)
Relative Respnsivity
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.
Figure 20. Mean Resolution vs. Z
Figure 21. Average Error vs. Z
Figure 22. Wavelength Responsivity
23
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.
24
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Z[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 5TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
25
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Z[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 5TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
26
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 0000BBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 5TW[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 2000FBBBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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]
27
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 200000MBRBLB
Byte 3Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 6TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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]
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 20000BBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 6TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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]
28
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 4Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 6TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 4Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
29
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 4Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 6TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 4Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
30
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 0000BBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 4Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 5Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 6TW[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 2000FBBBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 5Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 6Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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 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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 200000MBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 5Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 6Z[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 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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]
32
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 20000BBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4Y[3] Y[2] Y[1] Y[0] X[11] X[10] X[9] X[8]
Byte 5Y[11] Y[10] Y[9] Y[8] Y[7] Y[6] Y[5] Y[4]
Byte 6Z[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 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
33
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
34
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 00000MBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 000FBBBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[7] Z[6] Z[5] Z[4] Z[3] Z[2] Z[1] Z[0]
35
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 0000BBMBRBLB
Byte 2X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 3X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 4Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 5Y[15] Y[14] Y[13] Y[12] Y[11] Y[10] Y[9] Y[8]
Byte 6Z[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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 2000FBBBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 5Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 6Y[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 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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 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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 2000FBBBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 5Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 6Y[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 8TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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 5KEY_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]
37
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 6Bit 5Bit 4Bit 3Bit 2Bit 1 Bit 0
Byte 1 REPORT ID (01)
Byte 20000BBMBRBLB
Byte 3X[7] X[6] X[5] X[4] X[3] X[2] X[1] X[0]
Byte 4X[15] X[14] X[13] X[12] X[11] X[10] X[9] X[8]
Byte 5Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
Byte 6Y[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 8TW[7] TW[6] TW[5] TW[4] TW[3] TW[2] TW[1] TW[0]
Byte 1 REPORT ID (02)
Byte 2R-Gui R-Alt R-Shift R-Ctrl L-Gui L-Alt L-Shift L-Ctrl
Byte 300000000
Byte 4KEY_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]
38
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
39
PROD_ID Address: 0x00
Access: Read Only Reset Value: 0x37
Bit 7 6 5 4 3 2 1 0
Field PID7 PID6PID5 PID4 PID3PID2PID1PID0
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 Address: 0x01
Access: Read Only Reset Value: 0x01
Bit 7 6 5 4 3 2 1 0
Field RID7 RID6RID5 RID4 RID3RID2RID1RID0
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 Address: 0x02 Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field Reserved BUT7BUT6BUT5BUT4BUT3BUT2BUT1
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.
Field Name Description
BUT7Reports the status of TW2 (Right tilt)
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT6Reports the status of TW1 (Left tilt)
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT5When 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)
BUT4When 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)
BUT3Reports the status of B3
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT2Reports the status of B2
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
BUT1Reports the status of B1
0 = pin signal is at logic 1 (VDD5)
1 = pin signal is at logic 0 (GND)
40
DELTA_Y_H Address: 0x05
Type: Device
Access: Read Only Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Y
15
Y
14
Y
13
Y
12
Y
11
Y
10
Y
9
Y
8
DELTA_Y_L Address: 0x06 Type: Device
Access: Read Only Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Y7 Y
6Y5 Y
4 Y
3Y2Y1Y0
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 in-
cluded 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_X_H Address: 0x03 Type: Device
Access: Read Only Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field X15 X14 X13 X12 X11 X10 X9X8
DELTA_X_L Address: 0x04 Type: Device
Access: Read Only Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field X7 X
6X5 X
4 X
3X2X1X0
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 in-
cluded 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 Address: 0x07 Type: Device
Access: Read Only Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Z7 Z
6Z5 Z
4 Z
3Z2Z1Z0
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.
41
SQUAL Value (White Paper)
Z = 2.4mm, Circle@7.5" diameter, Speed = 6ips
0
10
20
30
40
151101 151 201 251 301 351 401 451 501 551 601 651 701751
Count
SQUAL Value (COunt)
SQUAL vs Z (White Paper)
1000cpi, Circle@7.5" diameter, Speed = 6ips
0
10
20
30
40
1.61.822.22.42.62.833.23.4
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
SQUAL (Count)
Avg-3sigma
Avg
Avg+3sigma
SQUAL Address: 0x08 Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field SQ7 SQ6SQ5 SQ4 SQ3SQ2SQ1SQ0
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 typi-
cally maximized when the navigation surface is at the optimum distance from the imaging lens (the nominal
Z-height).
Figure 23. SQUAL Values (white paper)
Figure 24. Mean SQUAL vs. Z (white paper)
42
Shutter Value (White Paper)
Z = 2.4mm, Circle@7.5" diameter, Speed = 6ips
0
10
20
30
40
50
60
151101 151 201 251 301 351 401 451 501 551 601 651 701751
Count
Shutter Value (Count)
Avg-3sigma
Avg
Avg+3sigma
Shutter vs Z (White Paper)
1000cpi, Circle@7.5" diameter, Speed = 6ips
0
50
100
150
200
250
300
1.61.822.22.42.62.833.23.4
Distance from Lens Reference Plane to Navigation Surface, Z (mm)
Shutter Value (Count)
SHUT_HI Address: 0x9 Type: Device
Access: Read Oly Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field S15 S14 S13 S12 S
11 S10 S9S8
SHUT_LO Address: 0x0A Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field S7 S
6S5 S
4 S
3S2S1S0
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.
Figure 25. Shutter Values (white paper)
Figure 26. Mean Shutter vs. Z (white paper)
43
PIX_MAX Address: 0x0B Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field 0 MX6MX5 MX4 MX3MX2MX1MX0
Data Type: 7-bit number.
USAGE: This is the maximum pixel value from the last image taken.
PIX_ACCUM Address: 0x0C Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field AC7AC6AC5 AC4 AC3AC2AC1AC0
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 Address: 0x0D Type: Device
Access: Read Only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field 0MN
6MN5 MN4 MN3MN2MN1MN0
Data Type: 8-bit number.
USAGE: This is the minimum pixel value from the last image taken.
44
PIX_GRABBER Address: 0x0E Type: Device
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field VALID PG6PG5 PG4 PG3PG2PG1PG0
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.
Figure 27. Directions are for a complete mouse, with the ADNS-6180-001 or ADNS-6180-002 lens
Top Xray View of Mouse
RBLB
POSITIVE X
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
P
O
S
I
T
I
V
E
Y
45
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
46
OTP_CONFIG Address: 0x4C Type: Device
Access: Read/Write Reset Value: 0x00
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 Address: 0x4D Type: Device
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field OTP_ADDR7OTP_ADDR6OTP_ADDR5OTP_ADDR4OTP_ADDR3OTP_ADDR2OTP_ADDR1OTP_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 Address: 0x4E Type: Device
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field OTP_DATA7OTP_DATA6OTP_DATA5OTP_DATA4OTP_DATA3OTP_DATA2OTP_DATA1OTP_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.
47
OTP_CTRL Address: 0x4F Type: Device
Access: Read/Write Reset Value: 0x00
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 Address: 0x50 Type: Device
Access: Read only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
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.
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
48
OTP_RUNSTAT Address: 0x51 Type: Device
Access: Read only Reset Value: Undefined
Bit 7 6 5 4 3 2 1 0
Field Reserved L2_CHECKED L2_LOCK 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 Address: 0x75 Type: Device
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field 00000LSR_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
49
LSR_CTRL1 Address: 0x76 Type: Device
Access: Read/Write Reset Value: 0x0F
Bit 7 6 5 4 3 2 1 0
Field 00000LSR_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 Address: 0x7E Type: Device
Access: Read only Reset Value: 0xFE
Bit 7 6 5 4 3 2 1 0
Field INV_RID7INV_RID6INV_RID5INV_RID4INV_RID3INV_RID2INV_RID1INV_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 Address: 0xBB Type: OTP
Access: Read/Write Reset Value: 0x00
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.
50
CPI_SET0 Address: 0xBC Type: OTP
Access: Read/Write Reset Value: 0x0A
Bit 7 6 5 4 3 2 1 0
Field Reserved Reserved Reserved CPI04CPI03CPI02CPI01CPI00
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 resolu-
tion 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 Address: 0xBD Type: OTP
Access: Read/Write Reset Value: 0x10
Bit 7 6 5 4 3 2 1 0
Field Reserved Reserved Reserved CPI14CPI13CPI12CPI11CPI10
Data Type: 8-Bit field
USAGE: This register sets the 2nd resolution setting (S2) when On-the-Fly (OTF) resolution mode is enabled. The perfor-
mance of max setting is surface dependent. Refer to resolution table in CPI_SET0.
51
MOTCONFIG1 Address: 0xBF Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Reserved Reserved Reserved Reserved Reserved Reserved MF1MF0
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
CPI_SET2 Address: 0xBE Type: OTP
Access: Read/Write Reset Value: 0x05
Bit 7 6 5 4 3 2 1 0
Field Reserved Reserved Reserved CPI24CPI23CPI22CPI21CPI20
Data Type: 8-Bit field
USAGE: This register sets the 3rd resolution setting (S3) when On-the-Fly (OTF) resolution mode is enabled. The perfor-
mance of max setting is surface dependent. Refer to resolution table in CPI_SET0.
52
ROTATION Address: 0xC0 Type: OTP
Access: Read/Write Reset Value: 0x07
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_XINV_Y
0111
90001
180 1 0 0
270 0 1 0
Figure 29. XY Motion Reporting Direction when Lens is attached on the Sensor
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+X
+Y
9
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+X
+Y
18
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+X
+Y
270°
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+Y
+X
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+X
+Y
9
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+X
+Y
18
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+Y
+X
270°
22
21
20
19
18
17
16
15
14
13
12
1
2
3
4
5
6
7
8
9
10
11
+Y
+X
AFTER Rotation
Y direction of HID is always inverted from actual motion.
BEFORE Rotation
53
DEVCONFIG Address: 0xC1 Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field KM1KM0OTF1OTF00000
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
54
CODEA_KEY1 Address: 0xC2 Type: OTP
Access: Read/Write Reset Value: 0x00
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 modi-
fier 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
55
CODEB_KEY1 Address: 0xC3 Type: OTP
Access: Read/Write Reset Value: 0x00
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 modi-
fier 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
56
CODEA_KEY2 Address: 0xC4 Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field SC_A7SC_A6SC_A5SC_A4SC_A3SC_A2SC_A1SC_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 Address: 0xC5 Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field SC_A7SC_A6SC_A5SC_A4SC_A3SC_A2SC_A1SC_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 Address: 0xC6 Type: OTP
Access: Read/Write Reset Value: 0x10
Bit 7 6 5 4 3 2 1 0
Field L_Press7L_Press6L_Press5L_Press4L_Press3L_Press2L_Press1L_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.
57
TW_CONFIG Address: 0xC7 Type: OTP
Access: Read/Write Reset Value: 0x00
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 Address: 0xC8 Type: OTP
Access: Read/Write Reset Value: 0x16
Bit 7 6 5 4 3 2 1 0
Field PID7PID6PID5PID4PID3PID2PID1PID0
PID1 Address: 0xC9 Type: OTP
Access: Read/Write Reset Value: 0x07
Bit 7 6 5 4 3 2 1 0
Field PID15 PID14 PID13 PID12 PID11 PID10 PID9PID8
Data Type: 16-Bit number
USAGE: These registers are used to customize device USB PID. Default is Avago’s PID = 0x0716.
VID0 Address: 0xCA Type: OTP
Access: Read/Write Reset Value: 0x2F
Bit 7 6 5 4 3 2 1 0
Field VID7VID6VID5VID4VID3VID2VID1VID0
VID1 Address: 0xCB Type: OTP
Access: Read/Write Reset Value: 0x19
Bit 7 6 5 4 3 2 1 0
Field VID15 VID14 VID13 VID12 VID11 VID10 VID9VID8
Data Type: 16-Bit number
USAGE: These registers are used to customize device VID. Default is Avagos VID = 0x192F.
58
MSTR_LEN Address: 0xCC Type: OTP
Access: Read/Write Reset Value: 0x0C
Bit 7 6 5 4 3 2 1 0
Field MSTR_LEN7MSTR_LEN6MSTR_LEN5MSTR_LEN4MSTR_LEN3MSTR_LEN2MSTR_LEN1MSTR_LEN0
Data Type: 8-bit number.
USAGE: Specifies the manufacturing string description length in bytes inclusive (plus 1 for descriptor type). One charac-
ter = 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 Address: 0xCD to 0xD8 Type: OTP
Access: Read/Write Reset Value: "Avago"
Bit 7 6 5 4 3 2 1 0
Field MFR_STR7MFR_STR6MFR_STR5MFR_STR4MFR_STR3MFR_STR2MFR_STR1MFR_STR0
Data Type: 12 bytes number
USAGE: These registers allow maximum of 11 characters in ASCII. Default = Avago
Register Name Address
Default Value
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
59
PSTR_LEN Address: 0xD9 Type: OTP
Access: Read/Write Reset Value: 0x34
Bit 7 6 5 4 3 2 1 0
Field PSTR_LEN7PSTR_LEN6PSTR_LEN5PSTR_LEN4PSTR_LEN3PSTR_LEN2PSTR_LEN1PSTR_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 Address: 0xDA to 0xF5 Type: OTP
Access: Read/Write Reset Value: "USB LaserStream(TM) Mouse"
Bit 7 6 5 4 3 2 1 0
Field PROD_STR7PROD_STR6PROD_STR5PROD_STR4PROD_STR3PROD_STR2PROD_STR1PROD_STR0
Data Type: 28 bytes number
USAGE: These registers allow maximum of 28 characters in ASCII. Default = “USB LaserStream(TM) Mouse”
Register Name Address
Default Value
Register Name Address
Default Value
ASCII Character 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
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-2009 Avago Technologies. All rights reserved.
AV02-1883EN - December 16, 2009
OTPLOCK2 Address: 0xFA Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field OTPLOCK27OTPLOCK26OTPLOCK25OTPLOCK24OTPLOCK23OTPLOCK22OTPLOCK21OTPLOCK20
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.
DEV_NUM0 Address: 0xF6 Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field DEV7DEV6DEV5DEV4DEV3DEV2DEV1DEV0
DEV_NUM1 Address: 0xF7 Type: OTP
Access: Read/Write Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field DEV15 DEV14 DEV13 DEV12 DEV11 DEV10 DEV9DEV8
Data Type: 16-Bit number
USAGE: These registers are used to customize device number, which is optional to be assigned by manufacturer.