ADNS-5700
Optical Mouse Sensor
Data Sheet
Description
The ADNS-5700-XXXX is a compact, one chip USB optical
mouse sensor for implementing a non-mechanical track-
ing engine for computer mice.
It is based on optical navigation technology that measures
changes in position by optically acquiring sequential
surface images (frames) and mathematically determining
the direction and magnitude of movement.
The sensor is in a 18 -pin optical package that is designed
to be used with the ADNS-5100-001 trim lens the ADNS-
5200 Clip and the HLMP-EG3E-xxxxx LED. These parts
provide a complete and compact mouse sensor. There are
no moving parts, and precision optical alignment is not
required, facilitating high volume assembly.
The output format is USB. This device meets HID Revision
1.11 speci cation and is compatible with USB Revision 2.0
speci cation.
Frame rate is varied internally to the sensor to achieve
tracking and speed performance, eliminating the need for
the use of many registers.
Default resolution is speci ed as 1000 counts per inch,
with rates of motion up to 30 inches per second. Buttons
and tilt wheel features are also available.
A complete mouse can be built with the addition of a PC
board, switches and mechanical Z-wheel, plastic case and
cable.
Theory of Operation
The ADNS-5700-XXXX is based on Optical Navigation
Technology. 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 and illumination system provided by the ADNS-5100-
001 trim lens, ADNS-5200 clip and HLMP-EG3E-xxxxx LED.
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.
Features
Optical navigation technology
Default resolution 1000cpi, selectable resolution
800cpi or 1200cpi through di erent part number
High speed motion detection up to 30 inches per
second (ips) and acceleration of 8g
Accurate navigation over a wide variety of surfaces
No precision optical alignment needed
Wave Solderable
Single 5.0 volt power supply
Meets USB Revision 2.0 speci cation
Meets HID Revision 1.11
Tilt Wheel function
Optical or Mechanical Z-Wheel function
12bits motion reporting
2 axis sensor rotation : 0° or 270°
Applications
Mice for desktop PC’s, Workstations, and portable PCs
Trackballs
Integrated input devices
2
Pinout 18pin PDIP
ADNS-5700-XXXX
Pin Number
3 button 5 button
H3MB, H3NB H4MB, H4NB H5MD, H5ND
1 D + D + D +
2 D - D - D -
3ZA ZA ZA
4ZB ZB ZB
5 LED_GND LED_GND LED_GND
6 XY_LED XY_LED XY_LED
7V
DD5 VDD5 VDD5
8 GND GND GND
9 REG0 REG0 REG0
10 VDD3 VDD3 VDD3
11 NC TL B4
12 NC TR OSC_IN
13 GND GND GND
14 OSC_IN OSC_IN OSC_OUT
15 OSC_OUT OSC_OUT B3
16 B3 B3 B2
17 B2 B2 B1
18 B1 B1 B5
Pin description table
Pin Name Description
D + USB D+ line
D - USB D- line
ZA ZA Optical wheel quadrature input
ZB ZB Optical wheel quadrature input
LED_GND LED ground
XY_LED XY_LED Input
VDD5 5 Volt Power (USB VBUS)
GND System ground
ZLED Z-Wheel LED input
REG0 / VDD3 3 Volt Power VDD3
NC No Connect
OSC_IN Ceramic resonator input
OSC_OUT Ceramic resonator output
B5 Fifth Button
B4 Fourth Button
B3 Middle button input
B2 Right button input
B1 Left button input
Figure 1a. Package pinout
Note : See table for Part number marking
7
4
3
12
18
17
16
15
14
13
11
10
9
8
6
5
2
1
Product Number
Date Code
Lot Code
Item Marking Remarks
Product Number A5700
Date Code XYYWWZ X = Subcon Code
YYWW = Date Code
Z = Sensor Die Source
Lot Code VVV Numeric
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY RIGHTS.
3
Strap (Jumper) Table
The PID/string strap matrix is the following:
Part Number Description
Resolution
(cpi) Buttons
Tilt
Wheel Z-Wheel
Sensor
Position VID PID
Mfg
String
Product
String
ADNS-5700-H3MB Standard 3
buttons
1000 3 No Mechanical 0x192F 0x0416 Null USB Optical
Mouse
ADNS-5700-H4MB Standard 3
buttons
1000 3 TW Mechanical 0x192F 0x0416 Null USB Optical
Mouse
ADNS-5700-H5MD Standard 5
buttons
1000 5 No Mechanical 0x192F 0x0616 Null USB Optical
Mouse
ADNS-5700-H3NB Standard 3
buttons
1000 3 No Mechanical 270° 0x192F 0x0416 Null USB Optical
Mouse
ADNS-5700-H4NB Standard 3
buttons
1000 3 TW Mechanical 270° 0x192F 0x0416 Null USB Optical
Mouse
ADNS-5700-H5ND Standard 5
buttons
1000 5 No Mechanical 270° 0x192F 0x0616 Null USB Optical
Mouse
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
The XY motion reporting direction when is lens is attached to the sensor is shown in Fig 1b for 0° and Fig 1c for 270°
sensor orientation.
Figure 1b. Package pinout at 0° Figure 1c. Package pinout at 270°
RBLB
Top Xray View of Mouse
POSITIVE X
P
O
S
I
T
I
V
E
Y7
4
3
12
18
17
16
15
14
13
11
10
9
8
6
5
2
1
RBLB
Top Xray View of Mouse
POSITIVE X
P
O
S
I
T
I
V
E
Y
7
4
3
12
18
17
16
15
14
13
11
10
9
8
6
5
2
1
4
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.
DETAIL1
Scale 10:1
0.25
0.010
50q
see DETAIL1
0.40 Lead Width
0.016
1.00 Lead Oset
0.039
20.30
0.799
Feature for
Illustration only
Pin 1
AA
Pin 1
Clear Optical Path
Protective Kapton Tape
6.19
0.244
2.00 Lead Pitch
0.079
11.46
0.451
(1.00)
0.039
7.28 ± 0.03
0.287 ± 0.001
4.55
0.179
SECTION A-A
5.60 ± 0.03 (At Base)
0.220 ± 0.001
(0.46)
0.018
(3.40)
0.134
(2.54)
0.100
(1q)
12.85 ± 0.54 (At lead tip)
0.506 ± 0.021
4.30
0.169
1.00
0.039
0.25
0.010
12.85 (At shoulder)
0.506
9.10
0.358
5.15
0.203
1.09 ± 0.03
0.043 ± 0.001
(6.43)
0.253
2X 90 ± 3q
Notes:
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: ± 3q
7. Maximum ash: 0.2mm.
8. Brackets () indicate reference dimension.
9. Document Number: LED_SOC_18A_Pkg_001
5
Figure 3. Recommended PCB mechanical cutouts and spacing (Top view)
Avago Technologies provides an IGES  le drawing describing the base plate molding features for lens and PCB align-
ment. Stand-o of the base plate shall not be larger than 5mm.
Note: The recommended pin hole dimension of the sensor is 0.7 mm.
Shown with ADNS-5100-001 trim lens, ADNS-5200 clip and HLMP-EG3E-xxxxx.
Clear Zone
Pin #1 Hole
Notes:
1. Dimensions in milimeter / inches and for reference only.
1.00
0.039
26.50
1.043
40.59
1.598
0.35
0.014
12.95
0.510
2.25
0.089
10.35
0.408
7.57
0.298 5.03
0.198
2.00
0.079
12.61
0.496
10.60
0.417
2.00
0.079
38.52
1.516
28.09
1.106
2.65
0.104
2X 3.05
0.120
Recommended
18X 0.80
0.031 Recommended
2X 1.00
0.039 Recommended
0
0
6
Figure 4. 2D assembly drawing of ADNS-5700-XXXX
Notes:
1. All dimensions in millimeters/inches.
2. All tolerance ±0.1 mm.
Top of Sensor
to Surface
Top of PCB
to surface
Lens reference plane to Tracking surface (Z)
PCB
Sensor Lens
LED
Clip
SECTION B-B
10.59
0.417
7.45
0.293
2.40
0.094
13.89 Top of Clip
0.547
BB
PCB
Surface
13.10
0.516
42.16
1.660
7
Figure 5. Exploded view drawing
The components interlock as they are mounted onto
de ned features on the base plate.
The ADNS-5700 sensor is designed for mounting on a
through hole PCB, looking down. The aperture stop and
features on the package align it to the lens (See  gure 3).
The ADNS-5100-001 trim lens provides optics for the
imaging of the surface as well as illumination of the surface
at the optimum angle. Lens features align it to the sensor,
base plate, and clip with the LED.
The ADNS-5200 clip holds the LED in relation to the lens.
The LED must be inserted into the clip and the LED’s leads
formed prior to loading on the PCB. The clip interlocks the
sensor to the lens, and through the lens to the alignment
features on the base plate.
The HLMP-EG3E-xxxxx LED is recommended for
illumination.
Customer Supplied
Base Plate with
recommended
features per IGES
3D Model
Lens
(Full ange shown)
PCB
Sensor
LED
LED CLIP
8
Block Diagram
ZB
ZA
IMAGE
PROCESSOR
Z WHEEL
POWER
ON
RESET
LGND
XY_LED
LED
DRIVE
OSCILLATOR
OSCILLATOR
LED
OSC_IN
OSC_OUT
VOLTAGE
REFERENCE
D
D +
USB
PORT
5 VOLT
POWER
Vdd3
GND
Vdd5
GND
BUTTONS
CONTROL AND
I/O PROCESSOR
GND
TL/B4
B3
B2
B1
TR/B5
ZLED
V
O
L
T
A
G
E
R
E
G
U
L
A
T
O
R
Figure 6. Block Diagram
PCB Assembly Considerations
1. Insert the sensor and all other electrical components
into PCB.
2. Bend the LED leads 90 degrees and then insert the LED
into the assembly clip until the snap feature locks the
LED base.
3. Insert the LED/clip assembly into PCB.
4. This sensor package is only quali ed for wave-solder
process.
5. Wave Solder the entire assembly in a no-wash solder
process utilizing solder  xture. The solder  xture
is needed to protect the sensor during the solder
process. It also sets the correct sensor to PCB distance,
as the lead shoulders do not normally rest on the PCB
surface. The  xture should be designed to expose
the sensor leads to solder while shielding the optical
aperture from direct solder contact. A solder  xture
MUST be used to set the correct sensor to PCB distance.
6. Place the lens onto the base plate.
7. Remove the protective Kapton tape from optical
aperture of the sensor. Care must be taken to
keep contaminants from entering the aperture.
Recommend not placing the PCB facing up during the
entire mouse assembly process. Recommend to hold
the PCB  rst vertically for the Kapton removal process.
8. Insert PCB assembly over the lens onto base plate
aligning post to retain PCB assembly. The sensor
aperture ring should self-align to the lens.
9. The optical position reference for the PCB is set by the
base plate and lens. Note that the PCB motion due to
button presses must be minimized to maintain optical
alignment.
10. Install mouse top case. There MUST be feature in the
top case to press down onto the clip to ensure all
components are interlocked to correct vertical height
9
Design considerations for improving ESD Performance
The table below shows typical values assuming base plate
construction per the Avago Technologies supplied IGES
le and ADNS-5100-001 trim lens. Stand-o of the base
plate shall not be larger than 5mm.
Typical Distance ADNS-5100-001
Creepage 17.9mm
Clearance 9.2mm
Note that the lens material is polycarbonate or polysty-
rene HH30, therefore, cyanoacrylate based adhesives
should not be used as they will cause lens material defor-
mation
Lens/Light Pipe
PCB
Base Plate
Surface
Sensor Clip
LED
Figure 7. Typical Application
10
Figure 8a. Application Circuit with ADNS-5700-HxxB with Optical Z-Wheel
+3.3 V
Vdd 5 V
C2
C4 C5
C3
8
13
10 7
VDD 3 VDD 5
GND
GND
D -
D +
ZLED
ZA
ZB
ZLED
Vdd
QA
QB
Z - encoder
27 K 27 K
USB D -
USB D +
100 pF 100 pF
2
1
9
3
4
+3.3 V
1.5K
LED_GND
XY_LED
OSC IN
OSC OUT
B1
B2
B3
5
6
14
15
18
17
16
NAV LED
Vdd 5 V
Guard
GND
33
C6 C7
33
11 12
See pinout table
R1
C2, C3 = 1 nF
C4 = 4.7 uF
C5 = 3.3 uF
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
All caps (except C4) MUST be as close to the sensor pins as possible.
C3 and C5 connected to pin 10 must be terminated at pin 13.
Caps should be ceramic.
Caps should have less than 5 nH of self inductance.
Caps connected to VDD3 MUST have less than 0.2 ESR.
1.5k resistor should be ± 1% tolerance.
Surface mount parts are recommended.
R1 value (ohm) LED Bin
59.0 K
59.0 L
59.0 M
59.0 N
59.0 to 66.5 P
59.0 to 78.7 Q
59.0 to 93.1 R
59.0 to 110 S
59.0 to 143 T
11
Figure 8b. Application Circuit with ADNS-5700-HxxB with Mechanical Z-Wheel
R1 value (ohm) LED Bin
59.0 K
59.0 L
59.0 M
59.0 N
59.0 to 66.5 P
59.0 to 78.7 Q
59.0 to 93.1 R
59.0 to 110 S
59.0 to 143 T
+3.3 V
Vdd 5 V
C2
C4 C5
C3
8
10 7
VDD 3 VDD 5
GND
D -
D +
ZA
ZB
Vdd 5 V
USB D -
USB D +
2
1
3
4
+3.3 V
1.5 K
LED_GND
XY_LED
OSC IN
OSC OUT
B1
B2
B3
5
6
14
15
18
17
16
NAV LED
Vdd 5 V
Mechanical
ZWheel
Guard
GND
C1 C6
139REG 0 GND
100 pF
100 pF
C7
C8
11 12
See pinout table
33
33
R1
C2, C3 = 1 nF
C4 = 4.7 uF
C5 = 3.3 uF
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
All caps (except C4) MUST be as close to the sensor pins as possible.
C1 and C6 connected to pin 10 must be terminated at pin 13.
C3 and C5 connected to pin 9 must be terminated at pin 8.
Caps should be ceramic.
Caps should have less than 5 nH of self inductance.
Caps connected to VDD3 MUST have less than 0.2 ESR.
1.5k resistor should be ± 1% tolerance.
Surface mount parts are recommended.
12
Figure 8c. Application Circuit with ADNS-5700-H5MD and ADNS-5700-H5ND with 5 Button and Mechanical Z-Wheel
R1 value (ohm) LED Bin
59.0 K
59.0 L
59.0 M
59.0 N
59.0 to 66.5 P
59.0 to 78.7 Q
59.0 to 93.1 R
59.0 to 110 S
59.0 to 143 T
C1, C2, C3 = 1 nF
C4 = 4.7 uF
C5, C6 = 3.3 uF
+3.3 V
Vdd 5 V
C2
C4 C5
C3
8
10 7
VDD 3 VDD 5
GND
D -
D +
ZA
ZB
Vdd
USB D -
USB D +
2
1
3
4
+3.3 V
1.5 K
LED_GND
XY_LED
OSC IN
OSC OUT
B5
B4
B3
B2
B1
5
6
12
14
18
11
15
16
17
NAV LED
Vdd 5 V
Mechanical
ZWheel
Guard
GND
C1 C6
139 REG 0 GND
100 pF
100 pF
33
33
C8
C7
R1
DISCLAIMER: ALL DESIGNERS AND MANUFACTURERS OF THIS DESIGN MUST ASSURE THAT THEY HAVE ALL NECESSARY INTELLECTUAL PROPERTY
RIGHTS.
Notes:
All caps (except C4) MUST be as close to the sensor pins as possible.
C1 and C6 connected to pin 10 must be terminated at pin 13.
C3 and C5 connected to pin 9 must be terminated at pin 8.
Caps should be ceramic.
Caps should have less than 5 nH of self inductance.
Caps connected to VDD3 MUST have less than 0.2 ESR.
1.5k resistor should be ± 1% tolerance.
13
Regulatory Requirements
Passes FCC B and worldwide analogous emission limits
when assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
Passes EN61000-4-4/IEC801-4 EFT tests when
assembled into a mouse with shielded cable and
following Avago Technologies recommendations.
UL ammability level UL94 V-0.
Provides su cient ESD creepage/clearance distance
to withstand discharge up to 15kV when assembled
into a mouse with lens according to usage instructions
above.
Absolute Maximum Ratings
Parameter Symbol Minimum Maximum Units Notes
Storage Temperature TS-40 85 °C
Operating Temperature TA-15 55 °C
Lead Solder Temp 260 °C For 7 seconds, 1.6mm below seating plane.
Supply Voltage VDD -0.5 5.5 V
ESD 2 kV All pins, JESD22-A114
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 speci cation
(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 speci cation (7.1.1)
Recommended Operating Conditions
Parameter Symbol Minimum Typical Maximum Units Notes
Operating Temperature TA040°C
Power supply voltage VDD 4.25 5.0 5.25 Volts For accurate navigation and
proper USB operation
Power supply voltage Vddm 4 5.0 5.25 Volts Maintains communication to
USB host and internal register
contents.
Power supply rise time VRT 0.003 100 ms
Supply noise VN100 mV Peak to peak within 0-80 MHz
bandwidth
Velocity Vel 30 ips
Acceleration Acc 8 g 0.5g from Rest
Clock Frequency fclk 23.64 24 24.36 MHz Due to USB timing constraints
Resonator Impedance XRES 55
Distance from lens reference
plane to surface
Z 2.3 2.4 2.5 mm See Figure 9
Frame Rate 4000 fps Internally adjusted by sensor
14
Figure 9. Distance from lens reference plane to object surface
AC Electrical Speci cations
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
Debounce delay on button
inputs
TDBB 5 10 17 ms Maximum” speci ed at 8ms polling
rate.
Scroll wheel sampling period TSW 150 200 300 μs ZA PIN for optical scroll wheel
1.9 2.0 2.8 ms ZA PIN for mechanical scroll wheel
Transient Supply Current IDDT 60 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.
Input Capacitance (OSC Pins) COSC_IN 50 pF OCS_IN, OSC_OUT to GND
USB Electrical Speci cations
Electrical Characteristics over recommended operating conditions.
Parameter Symbol Min. Max. 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 15 kohm to Ground and 7.5 k to Vbus
on D- (see Figure 11)
Output Low VOL 0.0 0.3 V with 15 kohm to Ground and 7.5 k to Vbus
on D- (see Figure 11)
Single Ended Input VSEI 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 7.5k to VDD5
Di erential Input Sensitivity VDI 0.2 V |(D+)-(D-)| See Figure 12
Di erential 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
Z
Sensor
LENS
OBJECT SURFACE
15
USB Timing Speci cations
Timing Speci cations over recommended operating conditions.
Parameter Symbol Min. Max. 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  rst transi-
tion 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 s
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
Di erential 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 s
Width of SE0 interval during
Di erential Transition
tLST 210 ns See Figure 11
Di erential Output Jitter tUDJ1 -95 95 ns To next transition, see Figure 15
Di erential Output Jitter tUDJ2 -150 150 For paired transitions, see Figure 15
Figure 10. Data Signal Rise and Fall Times
VCRS
10% 10%
90% 90%
TLR
Rise Time
TLF
Fall Time
VOL
VOH
D +
D -
16
Figure 12. Di erential Receiver Input Sensitivity vs. Common Mode Input Range
Figure 13. Receiver Jitter Tolerance
Figure 11. Data Signal Voltage Levels
VOH (min)
VOL (max)
One Bit Time (1.5 MB/s)
GND
VOH (min)
VIL (max)
Minimal Reflectance
and Ringing
tLST
-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 4.6
Differential Input Voltage Range
Differential Output
Crossover
Voltage Range
Input Voltage Range (volts)
TDJR1 TDJR2
TDJR
TPERIOD
Consecutive Transitions
N * TPERIOD + TDJR1
Paired Transitions
N * TPERIOD + TDJR2
17
Figure 15. Di erential Output Jitter
Figure 14. Di erential to EOP Transition Skew and EOP Width
TPERIOD
Differential
Data Lines
Differential Data
to SE0 Skew
N * TPERIOD + TLDEOP
Crossover Point
Crossover Point
Extended
Source EOP Width: TLEOPT
Receiver EOP Width: TLEOPR
Consecutive Transitions
N * TPERIOD + TUDJ1
Paired Transitions
N * TPERIOD + TUDJ2
TPERIOD
Differential
Data Lines
18
DC Electrical Speci cations
Electrical Characteristics over recommended operating conditions. Typical values at 25°C, VDD=5.0 V.
Parameter Symbol Minimum Typical Maximum Units Notes
System Current, mouse moving IDD5 100 mA Includes XY_LED current
System Current, mouse not moving IDD5N 100 mA Includes XY_LED current
System current, USB suspend mode,
Remote Wakeup Enabled
IDD5S 500 AIncludes XY_LED current and
D- pullup resistor.
Supply current (Sensor only),
mouse moving
IDDS 12 15 mA No load on B1-B5, XY-LED, ZA, ZB,
D+, D-
Supply current (Sensor only),
mouse not moving
IDDSN 11 14 mA No load on B1-B5, XY-LED, ZA, ZB,
D+, D-
Sensor supply current, USB suspend
mode
IDDSS 260 ANo load on B1-B5, XY-LED, ZA, ZB,
D+,D-
XY_LED current ILED 40 49 mA Typical at Rbin 59ohm with binP
LED. Maximum DC current allowed
through XY_LED pin and LED.
XY_LED Output Low Voltage VOL 1.1 V Refer to Figure 16
Input Low Voltage VIL 0.5 V Pins: ZA, ZB, B1-B5,
VIL max of 0.5VDC is at VDD min of
4VDC, with a typical of 0.8VDC at
VDD of 5VDC
Input High Voltage VIH 0.6*VDD V Pins: ZA, ZB, B1-B5
Input Hysteresis VHYST 285 mV Pins: B1-B5, OPT 0, OPT 1
Button Pull Up Current BIOUT 125 275 500 APins: B1-B5, OPT 0, OPT 1
Buttons
The minimum time between button presses is TDBB.
Buttons B1 through B5 are connected to a Schmidt trigger
input with 100 uA current sources pulling up to +3 volts
during normal, sleep and USB suspend modes.
Debounce Algorithm
Button inputs B1, B2, B3, B4, B5 are sampled every 2ms.
Three consecutive low create a button press event.
Three consecutive high create a button release event.
19
The following graphs are the typical performance of the ADNS-5700 sensor, assembled as shown in the 2D assembly
drawing with the ADNS-5100-001 trim lens/Prism, the ADNS-5200 clip, and the HLMP-EG3E-xxxxx LED.
Figure 16. Typical Resolution vs. Z Height
Figure 17. Wavelength responsivity.[1] (Comparative Surfaces)
Note:
1. The ADNS-5700 is designed for optimal performance when used with the HLMP-EG3E-xxxxx (Red LED 639nm).
2. Z = distance from Lens Reference Plane to Surface.
3. DOF = Depth of Field
Typical Performance Characteristics
Performance Characteristics over recommended operating conditions. Typical values at 25 °C, VDD=5.0 V, 24MHz
Parameter Symbol Minimum Typical Maximum Units Notes
Path Error
(Deviation)
PError 0.5 % Average path error as percent of total 2.5” travel on
various standard surfaces
Resolution vs Z-Height on Standard Surfaces (ADNS-5700-XXXX)
0
200
400
600
800
1000
1200
1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2
Z-Height (mm)
Resolution(cpi)
White Paper
Manila
Spruce Wood
Black Formica
Relative Wavelength Response
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
400 500 600 700 800 900 1000
Wavelength in nm
Normalised response
20
Con guration after Power up (Data Values)
Signal
Function
State from Figure 9-1 of USB spec:
Powered or Default
Address or Con gured
State from Figure 9-1 of USB spec:
Suspended from any other state
B1
B2
B3
B4
B5
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper
else pullup active for button use
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper
VDD3 or GND if used as VID/PID jumper else pullup
active for button use
VDD3 or GND if used as VID/PID jumper
else pullup active for button use
D- USB I/O Hi-Z input
D+ USB I/O Hi-Z input
OSC_IN 24MHz Logic ‘1’
OSC_OUT 24MHz Logic ‘1’
XY_LED Always ON / Pulsing Pulled high (o )
ZB Hi-Z input Hi-Z input
ZA Hi-Z if ZA tied to GND Hi-Z input
Z_LED Hi-Z input Hi-Z input
21
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_Con guration 80 08 00 00 00 00 01 00 Return: 00=not con g., 01=con gured
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
Get_Desc_Con g 80 06 00 02 00 00 nn 00 See USB command details
Get_Desc_String 80 06 xx 03 00 00 nn 00 See USB command details
Get_Desc_HID 81 06 00 21 00 00 09 00 See USB command details
Get_Desc_HID_Report 81 06 00 22 00 00 nn 00 See USB command details
Get_HID_Input A1 01 00 01 00 00 nn 00 Return depends on motion & con g
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 Read register xx
Set_Address 00 05 xx 00 00 00 00 00 xx = address
Set_Con guration 00 09 xx 00 00 00 00 00 Not con gured: xx=00
Con gured: 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 specifed as “02 00. ADNS-5700-XXXX will not provide more bytes than the number requested in the command, but it will only supply up to
a maximum of 8 bytes at a time. The ADNS-5700-XXXX will re-send the last packet if the transfer is not acknowledged properly.
22
USB COMMAND DETAILS
USB_RESET D+/D- low for an extended period
USB Spec: A device may reset after seeing an SE0 for more than 18.7 uS, and de nitely after 10mS.
Notes: After power up and prior to Reset, the device will not respond to any USB commands. After the
device has been given a USB Reset, the device’s address will be reset to zero and the device will
be in the Default state. The chip will default to Report protocol and any pending output will be
ushed.
All registers will be reset to a state that matches power-on-reset with the following exceptions:
USB State register will be “Default instead of Attached”.
USB_SUSPEND Idle state for an extended period
USB Spec: A device may suspend after seeing an idle for more than 3mS, and de nitely after 10mS.
Notes: The chip will take a minimum of 5mS to start Suspend, though will de nitely start after 6mS.
The chip may  nish the current frame if necessary before stopping the clock. Thus, an additional
frame time may be used to reach Suspend mode.
USB_RESUME Non-idle state
USB Spec: Remote Resume signalling from a device must be between 1mS and 15mS. The host is required
to send Resume signaling for 20mS plus 10mS of resume recovery time in which it does not
access any devices. This allows devices enough time to wake back up.
Notes: The chip can cause a Resume if Remote Wakeup is enabled and a button has been pressed.
Remote resume signalling from the chip will last 11.45mS to 12.45mS.
Get_Status_Device 80 00 00 00 00 00 02 00
Returns: xx yy
xx[0] = Self Powered
xx[1] = Remote Wakeup
xx[7:2] = 0
yy = 00 (Reserved)
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: Use Set_Feature_Device/Clear_Feature_Device to set/clear remote wakeup.
Get_Status_Interface 81 00 00 00 00 00 02 00
Returns: 00 00
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept
Notes: Both return bytes are reserved and currently 00.
23
Get_Status_Endpt0 82 00 00 00 xx 00 02 00
82 00 00 00 00 00 02 00
82 00 00 00 80 00 02 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Returns: xx yy
xx[0] = Halt
xx[7:1] = 0
yy = 00 (Reserved)
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: Use Set_Feature_Endpt0/Clear_Feature_Endpt0 to (try to) set/clear Halt bit. According to USB,
“It is neither required or recommended that the Halt feature be implemented for the Default
Control Pipe. Since a new SETUP command will clear any Endpt0 halt bit, it is impossible to tell if
there really is a halt bit.
Get_Status_Endpt1 82 00 00 00 81 00 02 00
Returns: xx yy
xx[0] = Halt
xx[7:1] = 0
yy = 00 (Reserved)
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept
Notes: Use Set_Feature_Endpt1/Clear_Feature_Endpt1 to set/clear Halt bit.
Get_Con guration 80 08 00 00 00 00 01 00
Returns: xx
xx = con g value
Default: Accept (unde ned in USB Spec) – returns 00
Addressed: Accept – returns 00
Con gured: Accept – returns 01
Notes: Use Set_Con guration to change.
Get_Interface 81 0A 00 00 00 00 01 00
Returns: 00
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept – returns 00
Notes: Command has no alternate interfaces, so only valid value is 00
24
Get_Protocol A1 03 00 00 00 00 01 00
Returns: xx
xx = 00 = Boot protocol
xx = 01 = Report protocol
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: Defaults to Report protocol after USB Reset. Use Set_Protocol to change.
Get_Desc_Device 80 06 00 01 00 00 nn 00
80 06 00 01 00 00 12 00
Returns: 12 01 00 02 00 00 00 08
vv vv pp pp dd dd mm PP
ss 01
vv vv = vendor id
pp pp = product id (vendor speci ed)
dd dd = device id (vendor speci ed) (bcd rev_id byte)
mm = iManufacturer
PP = iProduct
ss = iSerialNumber (00 - no string)
Default: Accept
Addressed: Accept
Con gured: Accept
Get_Desc_String will return stall” if Manufacturer string is queried when iManufacturer = 0x00.
25
Get_Desc_Con g 80 06 00 02 00 00 nn 00
80 06 00 02 00 00 22 00
Returns: 09 02 22 00 01 01 00 A0
32 09 04 00 00 01 03 01
02 00 09 21 11 01 00 01
22 rr 00 07 05 81 03 05
00 0A
rr = HID Report descriptor length
47 = 12 bit motion reporting
With Z-Wheel: 09 02 22 00 01 01 00 A0
32 09 04 00 00 01 03 01
02 00 09 21 11 01 00 01
22 3D 00 07 05 81 03 04
00 0A
// Con g Descriptor
| 09 // bLength
| 02 // bDescriptorType
| 22 // wTotalLength (34 decimal)
| 00 // high byte of WTotalLength
| 01 // bNumInterfaces
| 01 // bCon gurationValue
| 00 // iCon guration
| A0 // bmAttributes (bus powered/remote wakeup)
| 32 // MaxPower (in 100mA in 2mA units)
// Interface Descriptor
| 09 // bLength
| 04 // bDescriptorType
| 00 // bInterfaceNumber
| 00 // bAlternateSetting
| 01 // bNumEndpoints
| 03 // bInterfaceClass (HID Class)
| 01 // bInterfaceSubClass
| 02 // bInterfaceProtocol
| 00 // iInterface
// HID Descriptor
| 09 // bLength
| 21 // bDescriptorType
| 11 // bcdHID ( HID Release ##.##; HID 1.11 compliant )
| 01 //
| 00 // bCountry
| 01 // bAvailable
| 22 // bType
| 34 // wLength (Length of HID Report below)
| 00 //
// Endpoint Descriptor
| 07 // bLength
| 05 // bDescriptorType
| 81 // bEndpointAddress (IN & #=1)
| 03 // bmAttributes (Interrupt)
| 05 // wMaxPacketSize
| 00 // 12bit 0x06
| 0A // bInterval (10mS)
26
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: This is the concatenation of 4 descriptors:
Con guration
Interface
HID
Endpt
Get_Desc_String 80 06 xx 03 00 00 nn 00
xx= 00 Language String
01 Manufacturer String
02 Product String
Returns: ss 03 „unicode string“
ss = String descriptor length
These values are determined by jumper con guration on page xx:
For xx=00: 04 03 09 04 // Language ID
For xx=01: return stall” if Manufacturer string is queried when iManufacturer = 0x00. See Get_Desc_Device
section
For xx=02: 24 03 55 00 53 00 42 00 // “USB”
20 00 4f 00 70 00 74 00 // “Opt”
69 00 63 00 61 00 6c 00 // “ ical”
20 00 4d 00 6f 00 75 00 // “Mou”
73 00 65 00 // “se
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: A request for any other string will STALL.
Get_Desc_HID 81 06 00 21 00 00 09 00
Returns: 09 21 11 01 00 01 22 rr 00
rr = HID Report descriptor length
47 = 12 bit motion
Default: Accept
Addressed: Accept
Con gured: Accept
27
Get_Desc_HID_Report 81 06 00 22 00 00 nn 00
Returns: This returns a report descriptor that describes how many buttons and x, y, z data.
These values are determined by jumper con guration see table on page 4:
With Tilt wheel and 12bit reporting: 05 01 09 02 A1 01 09 01
A1 00 05 09 19 01 29 05
15 00 25 01 75 01 95 05
81 02 75 03 95 01 81 01
05 01 09 30 09 31 16 01
F8 26 FF 07 75 0C 95 02
81 06 09 38 15 81 25 7F
75 08 95 01 81 06 05 0C
0A 38 02 81 06 C0 C0
// HID Report
| 05 01 // USAGE_PAGE (Generic Desktop)
| 09 02 // USAGE (Mouse)
| A1 01 // COLLECTION (Application)
| 09 01 // USAGE (Pointer)
| A1 00 // COLLECTION (Physical)
| 05 09 // USAGE_PAGE (Button)
| 19 01 // USAGE_MINIMUM (Button 1)
| 29 05 // USAGE_MAXIMUM (Button #)
| 15 00 // LOGICAL_MINIMUM (0)
| 25 01 // LOGICAL_MAXIMUM (1)
| 75 01 // REPORT_SIZE (1)
| 95 05 // REPORT_COUNT (Button #)
| 81 02 // INPUT (Data,Var,Abs)
| 75 03 // REPORT_SIZE (8 - Button #)
| 95 01 // REPORT_COUNT (1)
| 81 01 // INPUT (Cnst,Ary,Abs)
| 05 01 // USAGE_PAGE (Generic Desktop)
| 09 30 // USAGE (X)
| 09 31 // USAGE (Y)
| 16 01 F8 // LOGICAL_MINIMUM (-127)
| 26 FF 07 // LOGICAL_ MAXIMUM (127)
| 75 0C // REPORT_SIZE (8)
| 95 01 // REPORT_COUNT (3)
| 81 06 // INPUT (Data,Var,Rel)
| 09 38 // USAGE (Zwheel)
| 15 81 // LOGICAL_MINIMUM (-127)
| 25 7F // LOGICAL_ MAXIMUM (127)
| 75 08 // REPORT_SIZE (8)
| 95 01 // REPORT_COUNT (1)
| 81 06 // INPUT (Data,Var,Rel)
| 05 0C // USAGE_PAGE (Consumer)
| 0A 38 02 // USAGE (AC Pan)
| 81 06 // INPUT (Data,Var,Rel)
| C0 // END_COLLECTION
| C0 // END_COLLECTION
28
With without Tilt wheel and 12bit reporting: 05 01 09 02 A1 01 09 01
A1 00 05 09 19 01 29 05
15 00 25 01 75 01 95 05
81 02 75 03 95 01 81 01
05 01 09 30 09 31 16 01
F8 26 FF 07 75 0C 95 02
81 06 09 38 15 81 25 7F
75 08 95 01 81 06 C0 C0
// HID Report
| 05 01 // USAGE_PAGE (Generic Desktop)
| 09 02 // USAGE (Mouse)
| A1 01 // COLLECTION (Application)
| 09 01 // USAGE (Pointer)
| A1 00 // COLLECTION (Physical)
| 05 09 // USAGE_PAGE (Button)
| 19 01 // USAGE_MINIMUM (Button 1)
| 29 05 // USAGE_MAXIMUM (Button #)
| 15 00 // LOGICAL_MINIMUM (0)
| 25 01 // LOGICAL_MAXIMUM (1)
| 75 01 // REPORT_SIZE (1)
| 95 05 // REPORT_COUNT (Button #)
| 81 02 // INPUT (Data,Var,Abs)
| 75 03 // REPORT_SIZE (8 - Button #)
| 95 01 // REPORT_COUNT (1)
| 81 01 // INPUT (Cnst,Ary,Abs)
| 05 01 // USAGE_PAGE (Generic Desktop)
| 09 30 // USAGE (X)
| 09 31 // USAGE (Y)
| 16 01 F8 // LOGICAL_MINIMUM (-127)
| 26 FF 07 // LOGICAL_ MAXIMUM (127)
| 75 0C // REPORT_SIZE (8)
| 95 01 // REPORT_COUNT (3)
| 81 06 // INPUT (Data,Var,Rel)
| 09 38 // USAGE (Zwheel)
| 15 81 // LOGICAL_MINIMUM (-127)
| 25 7F // LOGICAL_ MAXIMUM (127)
| 75 08 // REPORT_SIZE (8)
| 95 01 // REPORT_COUNT (1)
| 81 06 // INPUT (Data,Var,Rel)
| C0 // END_COLLECTION
| C0 // END_COLLECTION
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: The length of this report is needed in the HID descriptor.
29
Get_HID_Input A1 01 00 01 00 00 nn 00
nn = 06 (with tilt wheel and 12 bit motion reporting)
nn = 05 (without tilt wheel and 12 bit reporting)
Returns: bb xx yy zz tw (tilt wheel) OR
bb xx yy zz (Z-wheel) OR
bb xx yy (if no Z-wheel present)
bb = button byte
xx = X motion byte
yy = Y motion byte
zz = Z motion byte
tw = tilt wheel byte
Default: Stall
Addressed: Stall
Con gured: Accept
Notes: If the device is con gured, it will always respond with a report for this command, even if no
motion or button changes have occurred. In this case, it would report 00 for motion and simply
report the current button state. If a report is pending on endpt1, the data there will be reported
and the report on endpt1 cleared.
The mouse will only create new button/motion packets when it is in the Con gured state
See USB byte format end of this section for more detail
Get_Idle A1 02 xx 00 00 00 01 00
xx = 00 All reports
xx = 01 First report
Returns: rr
rr = rate in multiples of 4mS
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: The third byte of the command is to select the Report ID. There is only one for the mouse -- so,
using 00 or 01 will work.
See also Set_Idle.
Get_Vendor_Test C0 01 00 00 xx 00 01 00
ii = ignore
xx = address of register to read
Returns: rr (depends on register read)
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: Address range (xx) is datasheet register range
30
Set_Address 00 05 xx 00 00 00 00 00
xx = new device address, from 00 to 7F
Default: Accept
Addressed: Accept
Con gured: Accept (unde ned in USB Spec)
Chip gets new address, but stays in ”Con gured” mode.
Notes: If device is not con gured, the device will be given the new address and put in the addressed state
(or default if new address=00). If the device is already con gured, the device will be given the
new address state and remain con gured.
Set_Con guration 00 09 xx 00 00 00 00 00
xx = 00 = not con gured
xx = 01 = con gured
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: Invalid con g values will cause stall. Chip will stall invalid value in con gured mode, and leave
device in old (con gured) mode.
Set_Interface 01 0B 00 00 00 00 00 00
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept
Notes: Mouse has only one valid interface (00) and alternate setting (00). Invalid values will cause stall.
Chip retains previous (valid) interface state after executing this command in con gured mode
even if invalid values are given and command was stalled.
Set_Protocol 21 0B xx 00 00 00 00 00
xx = 00 = Boot protocol
xx = 01 = Report protocol
Default: Accept (Not in USB Spec)
Addressed: Accept (Not in USB Spec)
Con gured: Accept
Notes: 3 byte data packets will be reported in boot mode. These bytes are button, XX data, and YY data.
Tilt wheel botton 7,8 will not be reported
Set_Feature_Device 00 03 01 00 00 00 00 00
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: This sets the remote wakeup bit.
31
Set_Feature_Endpt0 02 03 00 00 xx 00 00 00
02 03 00 00 00 00 00 00
02 03 00 00 80 00 00 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Stall
Notes: This (tries to) sets the halt bit. The chip always stalls the status stage for this command. The
chip never reports the halt bit set for Endpt0 with the Get_Status_Endpt0 command, as any
new SETUP command will clear Endpt0 stall.
Set_Feature_Endpt1 02 03 00 00 81 00 00 00
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept
Notes: Sets the halt bit for Endpt1.
Clear_Feature_Device 00 01 01 00 00 00 00 00
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: This clears the remote wakeup bit.
Clear_Feature_Endpt0 02 01 00 00 xx 00 00 00
02 01 00 00 00 00 00 00
02 01 00 00 80 00 00 00
xx = 00 = Endpt0 OUT
xx = 80 = Endpt0 IN
Default: Accept (unde ned in USB Spec)
Addressed: Accept
Con gured: Accept
Notes: The chip does NOT stall like it does for Set_Feature_Endpt0.
Clear_Feature_Endpt1 02 01 00 00 81 00 00 00
Default: Stall (unde ned in USB Spec)
Addressed: Stall
Con gured: Accept
Notes: See Set_Feature_Endpt1.
32
Set_Idle 21 0A xx rr 00 00 00 00
xx = 00 All reports
xx = 01 First report
rr = rate in multiples of 4mS
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: The third byte of the command is to select the Report ID. There is only one for the mouse – so,
using either 00 or 01 will work.
The fourth byte of the command sets the rate in multiples of 4mS. The initial value for mice will
be x00 which means “in nite” – that is packets only come out when there is a change in data.
Data will only be allowed to come out when the device is con gured. However, the chip will
accept the command in Default or Addressed mode and use that value when the device is later
con gured.
Set_Vendor_Test 40 01 00 00 xx yy 00 00
xx = address
yy = data
Default: Accept
Addressed: Accept
Con gured: Accept
Notes: Address range for “xx” should be 0x00 to 0x3F. Addresses above this are reserved for possible
future use. See also Get_Vendor_Test.
33
Poll_Endpt1
Returns: bb xx yy zz tw
bb = button byte
xx = X motion byte
yy = Y motion byte
zz = Z motion byte (if Z-Wheel)
tw = tilt wheel byte
Default: Ignore request
Addressed: Ignore request
Con gured: Accept (NAK if no data; Send packet if available)
Notes: See also Get_HID_Input. Endpt will only stall if halt bit is set by Set_Feature_Endpt1. Details
of data packet are below
Endpt1 should be polled at least every 10 frames (mS). It is typically polled every 8 frames
on Windows machines. For internal testing, Endpt1 can be continuously polled if desired.
The chip will not generate any report packets unless in the Con gured state.
If Endpt1 is currently empty, any motion or button change will be loaded into the Endpt1
bu ers. Once the Endpt1 bu ers are full, any further motion events will get accumulated.
When the Endpt1 bu ers are later polled and emptied, the current accumulated X/Y/Z
values will be loaded into the Endpt1 bu ers. After transferring their data, the accumula-
tion registers are reset so they are ready to start accumulating new motion events.
Button information is handled a bit di erently. If the Endpt1 bu ers are empty, and a
button change event occurs, the new button state is put into the Endpt1 bu ers. At the
same time, the button state that is put in Endpt1 is copied for later use. While Endpt1 is
full, changes in button state are essentially ignored. When Endpt1 is emptied, if the current
button state is di erent than that which was last loaded into Endpt1, then the new state
will be loaded and a new copy saved. Basically, the button state that is loaded into Endpt1
is always the current button state at that point in time. It should also be noted that there is
hardware on the chip to help de-bounce the buttons.
Special note on wLength: The wLength paramater in commands speci es the maximum number of bytes a device
should send back. The commands listed below are not able to handle a wLength of 0 cor-
rectly.
Get_Status_Device
Get_Status_Interface
Get_Status_Endpt0
Get_Status_Endpt1
Get_Con guration
Get_Interface
This chip will send one byte of data rather than none when wLength=0 is requested for the
above commands.
34
USB Data Packet Format of mouse with tilt wheel
Bit76543210
Byte 100000B3(MB) B2(RB) B1(LB)
Byte 2X7X6X5X4X3X2X1X0
Byte 3 Y3 Y2 Y1 Y0 X11 X10 X9 X8
Byte 4 Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4
Byte 5Z7Z6Z5Z4Z3Z2Z1Z0
Byte 6 TW7 TW6 TW5 TW4 TW3 TW2 TW1 TW0
USB Data Packet Format of mouse without tilt wheel
Bit76543210
Byte 100000B3(MB) B2(RB) B1(LB)
Byte 2X7X6X5X4X3X2X1X0
Byte 3 Y3 Y2 Y1 Y0 X11 X10 X9 X8
Byte 4 Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4
Byte 5Z7Z6Z5Z4Z3Z2Z1Z0
Byte 600000000
USB Data Packet Format of 5 button mouse
Bit76543210
Byte 1000B5B4B3(MB) B2(RB) B1(LB)
Byte 2X7X6X5X4X3X2X1X0
Byte 3 Y3 Y2 Y1 Y0 X11 X10 X9 X8
Byte 4 Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4
Byte 5Z7Z6Z5Z4Z3Z2Z1Z0
Byte 600000000
35
Registers
The sensor can be programmed through registers, via the
USB port, and con guration and motion data can be read
from these registers. Certain registers must be enabled
after power up but before  rst read or write to that reg-
ister. The registers will be disabled” by VDD going low or
sending a USB reset command.
Address Register
0x00 Product_ID
0x01 Revision_ID
0x02 MouseStat
0x03 Delta_X_L
0x04 Delta_Y_L
0x05 Delta_XY_H
0x06 SQUAL
0x07 Shut_Hi
Address Register
0x08 Shut_Low
0x09 Pix_Max
0x0a Pix_Accum
0x0b Pix_Min
0x0c Pix_Grabber
0x0d Dz
0x0e-3f Reserved
0x40 InvRevID
Product_ID Address: 0x00
Access: Read Reset Value: 0x27
Bit 7 6 5 4 3 2 1 0
Field PID7 PID6PID5 PID4 PID3PID2PID1PID0
Data Type: Eight bit number with the product identi er.
USAGE: The value in this register does not change; it can be used to verify that the sensor communications link is OK.
Revision_ID Address: 0x01
Access: Read Reset Value: 0x01
Bit 7 6 5 4 3 2 1 0
Field RID7 RID6RID5 RID4 RID3RID2RID1RID0
Data Type: Eight 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.
36
MouseStat Address: 0x02
Access: Read Reset Value: Unde ned
Bit 7 6 5 4 3 2 1 0
Field MOT Reserved Reserved BUT5BUT4BUT3BUT2BUT1
Data Type: Bit  eld
USAGE: A “1” in the motion bit indicates that the USB endpoint has valid data. This register is included for test purposes
only. For navigation use, use the USB HID de ned commands. The button status bits reported are for the de-
bounce signals.
Field Name Description
MOT For Internal test purposes only
Reserved Reserved
BUT5Reports the status of B5
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT4Reports the status of B4
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT3Reports the status of B3
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT2Reports the status of B2
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
BUT1Reports the status of B1
0 = pin at logic 1 (Vdd3)
1 = pin at logic 0 (GND)
37
Delta_X_L Address: 0x03
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field X7 X
6X5 X
4 X
3X2X1X0
Data Type: Bit  eld
USAGE: The value in this register re ects the last USB delta X (lower 8 bits) data output or data queued for output.
This register is included for test purposes only. For navigation use, use the HID de ned commands. Data is 2’s
complement. Absolute value is determined by the currently set resolution.
Register 0x03 must be read before register 0x04 (Delta_Y_L) and 0x05 (Delta_XY_H)
Delta_Y_L Address: 0x04
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Y7 Y
6Y5 Y
4 Y
3Y2Y1Y0
Data Type: Bit  eld
USAGE: The value in this register re ects the last USB delta Y (lower 8 bits) data output or data queued for output. This
register is included for test purposes only. Register 0x03 should be read before register 0x04 (Delta_Y_L) and
0x05 (Delta_XY_H), else Delta_Y_L will return 0. For navigation use, use the HID de ned commands. Data is 2’s
complement. Absolute value is determined by the currently set resolution.
Delta_XY_H Address: 0x05
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field X11 X
10 X9X8 Y
11 Y10 Y9Y8
Data Type: Bit  eld
USAGE: The value in this register re ects the last USB delta X and Y (upper 4 bits) data output or data queued for output.
This register is included for test purposes only. Register 0x03 should be read before register 0x04 (Delta_Y_L)
and 0x05 (Delta_XY_H), else Delta_XY_H will return 0. For navigation use, use the HID de ned commands. Data
is 2’s complement. Absolute value is determined by the currently set resolution.
38
SQUAL Address: 0x06
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field SQ7 SQ6SQ5 SQ4 SQ3SQ2SQ1SQ0
Data Type: Eight bit number.
USAGE: SQUAL is a measure of the number of features visible by the sensor in the current frame. The maximum value is
128. Since small changes in the current frame can result in changes in SQUAL, slight variations in SQUAL on one
surface is expected.
Shut_Hi Address: 0x07
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field S15 S14 S13 S12 S
11 S10 S19 S18
Data Type: Eight bit number.
USAGE: The combination of Shut_Hi and Shut_Low 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  rst.
Shut_Low Address: 0x08
Access: Read Reset Value: 0x64
Bit 7 6 5 4 3 2 1 0
Field S7 S
6S5 S
4 S
3S2S1S0
Data Type: Eight bit number.
USAGE: The combination of Shut_Hi and Shut_Low 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  rst (0x06).
39
Pix_Accum Address: 0x0a
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field AC7 AC6AC5 AC4 AC3AC2AC1AC0
Data Type: Eight bit number.
USAGE: This is the accumulated pixel value from the last image taken. For the 19x19 raw image only the 8 most interest-
ing bits are reported ([15:8]). To get the true average pixel value, divide this register value by 1.41.
Pix_Max Address: 0x09
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field 0 MX6MX5 MX4 MX3MX2MX1MX0
Data Type: Eight bit number.
USAGE: This is the maximum pixel value from the last image taken.
Pix_Min Address: 0x0b
Access: Read Reset Value: 0x7f
Bit 7 6 5 4 3 2 1 0
Field 0 MN6MN5 MN4 MN3MN2MN1MN0
Data Type: Eight bit number.
USAGE: This is the minimum pixel value from the last image taken.
Pix_Grab Address: 0x0c
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field VALID PG6PG5 PG4 PG3PG2PG1PG0
Data Type: Eight 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 361 reads to upload the completed image.
Any write to this register will reset and arm the grabber to grab pixel 0 on the next image. See pixel array num-
bering in Figure 19.
40
RBLB
Top Xray View of Mouse
POSITIVE X
P
O
S
I
T
I
V
E
Y7
4
3
12
18
17
16
15
14
13
11
10
9
8
6
5
2
1
Pixel Address Map (Looking through the sensor at the surface)
0 19 38 57 76 95 114 133 152 171 190 209 228 247 266 285 304 323 342
1 20 39 58 77 96 115 134 153 172 191 210 229 248 267 286 305 324 343
2 21 40 59 78 97 116 135 154 173 192 211 230 249 268 287 306 325 344
3 22 41 60 79 98 117 136 155 174 193 212 231 250 269 288 307 326 345
4 23 42 61 80 99 118 137 156 175 194 213 232 251 270 289 308 327 346
5 24 43 62 81 100 119 138 157 176 195 214 233 252 271 290 309 328 347
6 25 44 63 82 101 120 139 158 177 196 215 234 253 272 291 310 329 348
7 26 45 64 83 102 121 140 159 178 197 216 235 254 273 292 311 330 349
8 27 46 65 84 103 122 141 160 179 198 217 236 255 274 293 312 331 350
9 28 47 66 85 104 123 142 161 180 199 218 237 256 275 294 313 332 351
10 29 48 67 86 105 124 143 162 181 200 219 238 257 276 295 314 333 352
11 30 49 68 87 106 125 144 163 182 201 220 239 258 277 296 315 334 353
12 31 50 69 88 107 126 145 164 183 202 221 240 259 278 297 316 335 354
13 32 51 70 89 108 127 146 165 184 203 222 241 260 279 298 317 336 355
14 33 52 71 90 109 128 147 166 185 204 223 242 261 280 299 318 337 356
15 34 53 72 91 110 129 148 167 186 205 224 243 262 281 300 319 338 357
16 35 54 73 92 111 130 149 168 187 206 225 244 263 282 301 320 339 358
17 36 55 74 93 112 131 150 169 188 207 226 245 264 283 302 321 340 359
18 37 56 75 94 113 132 151 170 189 208 227 246 265 284 303 322 341 360
Figure 19. Pixel Map
The  gure above shows the readout order of the array. Rows are read top to bottom and
columns are from right to left.
Dz Address: 0x0d
Access: Read Reset Value: 0x00
Bit 7 6 5 4 3 2 1 0
Field Z7 Z
6Z5 Z
4 Z
3Z2Z1Z0
Data Type: Bit  eld
USAGE: If mouse is con gured to contain a Z-wheel, this register contains the Z-wheel count. Range is from –127 to 127
decimal.
Reserved Address: 0x0e – 0x3f
IC Register state after Reset (power up)
Address Register Default Value Meaning
0x00 Product_ID 0x27 Product ID = 27 (Fixed value)
0x01 Revision_ID 0x01 Revision of IC (Fixed value). (For each device design revision).
0x02 MouseStat
0x03 Delta_X_L 0x00
0x04 Delta_Y_L 0x00
0x05 Delta_XY_H 0x00
0x06 SQUAL 0x00
0x07 Shut_Hi 0x00
0x08 Shut_Low 0x64
0x09 Pix_Max 0x00
0x0a Pix_Accum 0x00
0x0b Pix_Min 0x00
0x0c Pix_Grabber 0x00
0x0d Dz 0x00
0x0e-3f Reserved
0x40 InverseRevesion ID 0xFE
InvRevID Address: 0x040
Access: Read Reset Value: 0xfe
Bit 7 6 5 4 3 2 1 0
Field RRID7 RRID6RRID5 RRID4 RRID3RRID2RRID1RRID0
Data Type: Eight bit number with current revision of the IC.
USAGE: Contains the inverse of the revision ID which is located in register 0x01.
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-1655EN - November 1, 2011