Apple Desktop Bus Mouse: Difference between revisions

No edit summary
Line 27: Line 27:
* '''M0142''' – Consolidated model number used from 1988-1993
* '''M0142''' – Consolidated model number used from 1988-1993


Despite different model numbers, all variants were functionally identical. Manufacturing occurred in Taiwan (early models), Ireland, and later Singapore facilities.
Despite different model numbers, all variants were functionally identical. Manufacturing occurred in Taiwan (early models), Ireland, USA, and later Singapore and Malaysia facilities.


== Design & Construction ==
== Design & Construction ==
Line 37: Line 37:
The mouse utilized mechanical ball tracking with the following key components:
The mouse utilized mechanical ball tracking with the following key components:


* '''Tracking mechanism:''' 19mm rubber-coated steel ball
* '''Tracking mechanism:''' 19mm rubber-coated steel ball (black on early models, gray on later)
* '''Optical encoders:''' Two perpendicular slotted wheels with infrared LED/phototransistor pairs
* '''Optical encoders:''' Two perpendicular slotted wheels with infrared LED/phototransistor pairs
* '''Controller chip:''' Various manufacturers including:
* '''Controller chip:''' Various manufacturers including:
** Mitsumi custom ADB controller
** Mitsumi custom ADB controller
** Logitech 42c60p5625
** Logitech 42c60p5625 (Taiwan models)
** IC Designs custom ASIC
** IC Designs custom ASIC
** Alps 820-0232 (USA models)
* '''Microswitch:''' Omron D2F series rated for 1 million clicks
* '''Microswitch:''' Omron D2F series rated for 1 million clicks
* '''Circuit board:''' Single-sided PCB with through-hole components
* '''Circuit board:''' Single-sided PCB with through-hole components


=== Manufacturing Variations ===
=== Manufacturing Variations ===
Two primary internal designs existed:
Five primary internal designs existed across production facilities:


'''Taiwan/Singapore manufacture:'''
'''Taiwan manufacture (Logitech):'''
* Single consolidated PCB
* Model A9M0331 with black ball
* Integrated controller chip
* Beige PCB top, green bottom
* Cost-reduced component count
* Marked "ADB Mouse by Logitech Rev C2"
* White ball cage
* Part numbers: 400115-400118


'''Ireland manufacture:'''
'''Taiwan manufacture (Logitech G5431):'''
* Dual PCB design (main board + switch board)
* Green PCB marked "Logitech AT Rev B"
* Discrete logic implementation
* P/N 200048-00
* Higher component quality
* Black ball cage
* Part numbers: 400234-400235
 
'''USA manufacture (Alps):'''
* Brown PCB stamped 820-0232
* Gray 25mm ball
* Round retainer with V-notch
* Integrated ball cage
* Part numbers: 815-1090 to 815-1092
 
'''USA manufacture (Unknown):'''
* Green PCB stamped 820-0146
* Gray 25mm ball
* Ribbed retainer with 3 tabs
* White ball cage
* Steel rollers
 
'''Malaysia manufacture (Mitsumi):'''
* Brown PCB marked Mitsumi
* Gray 25mm ball
* Black ball cage
* Two-screw PCB mounting
* Part numbers: 64-1259 to 64-1262


== Technical Specifications ==
== Technical Specifications ==
Line 85: Line 110:
* '''Default address:''' $3 (reassignable via bus enumeration)
* '''Default address:''' $3 (reassignable via bus enumeration)
* '''Polling rate:''' ~100 Hz typical
* '''Polling rate:''' ~100 Hz typical
=== Protocol Timing Details ===
Each ADB transaction follows this sequence:
# '''Attention signal:''' Host pulls bus low for 800μs
# '''Sync signal:''' Bus high for 70μs
# '''Command byte:''' 8 bits (4-bit address, 2-bit command, 2-bit register)
# '''Stop bit:''' Logic 0 with optional 300μs service request window
# '''Stop-to-start time (Tlt):''' 140-260μs high period


=== Device Registers ===
=== Device Registers ===
Line 90: Line 123:


* '''Register 0:''' Mouse movement data (2 bytes)
* '''Register 0:''' Mouse movement data (2 bytes)
** Byte 0: Button state (bit 7) + X movement delta
** Byte 0: Button state (bit 7) + X movement delta (-127 to +127)
** Byte 1: Button state (bit 7) + Y movement delta
** Byte 1: Button state (bit 7) + Y movement delta (-127 to +127)


* '''Register 1:''' Reserved (unused)
* '''Register 1:''' Reserved (unused, later used for extended protocol)
* '''Register 2:''' Reserved (unused)
* '''Register 2:''' Reserved (unused)
* '''Register 3:''' Device identification and address
* '''Register 3:''' Device identification and address
** Default handler ID: $01 (standard mouse)
** Default handler ID: $01 (standard mouse)
** Bits 11-8: Device address (default $3)
** Bits 7-0: Handler ID
=== Tracking Performance ===
=== Tracking Performance ===
* '''Resolution:''' 100 counts per inch (CPI)
* '''Resolution:''' 100 counts per inch (CPI)
* '''Maximum tracking speed:''' 10 inches/second
* '''Maximum tracking speed:''' 10 inches/second
* '''Sampling rate:''' Mechanical encoder dependent (~200 Hz)
* '''Sampling rate:''' Mechanical encoder dependent (~200 Hz)
* '''Encoder wheel slots:''' 36 per wheel (10° resolution)


== ADB System Architecture ==
== ADB System Architecture ==
Line 113: Line 150:


The mouse typically operated at address $3, with the keyboard at address $2. During system initialization, the ADB Manager would enumerate devices and resolve any address conflicts through a sophisticated random address generation scheme.
The mouse typically operated at address $3, with the keyboard at address $2. During system initialization, the ADB Manager would enumerate devices and resolve any address conflicts through a sophisticated random address generation scheme.
== Expanded Troubleshooting & Repair ==
=== Diagnostic Procedures ===
==== Erratic Cursor Movement ====
'''Symptoms:''' Jumpy, inconsistent, or drifting cursor movement
'''Root Causes & Solutions:'''
# '''Dirty encoder wheels''' (Most common)
#* Remove ball and inspect encoder wheels for dust/debris
#* Clean wheels with cotton swab and 90%+ isopropyl alcohol
#* Use compressed air to clear encoder slots
#* Ensure LED/phototransistor pairs are clean
# '''Worn ball surface'''
#* Check for flat spots or uneven wear
#* Clean ball with isopropyl alcohol
#* Replace if severely worn (19mm rubber-coated steel ball)
# '''Encoder wheel damage'''
#* Inspect for broken or bent encoder wheel teeth
#* Check encoder shaft for excessive play
#* Replacement requires donor mouse or compatible encoder assembly
# '''Controller chip issues'''
#* Test with known-good ADB system
#* Check for proper +5V supply at controller
#* Controller replacement requires exact matching part
==== Button Failures ====
'''Symptoms:''' No click, stuck button, double-clicking, intermittent response
'''Microswitch Testing:'''
# Measure resistance across switch terminals (should be <1Ω when pressed)
# Test for proper tactile feedback and audible click
# Check for mechanical obstruction in button mechanism
'''Replacement Procedure:'''
# Compatible switches: Omron D2F-01, D2F-01F, D2F-01F-T
# Specifications: SPDT, 10mA minimum current rating
# Desolder old switch carefully to avoid PCB damage
# Install new switch ensuring proper alignment with button actuator
==== Complete Failure ====
'''Symptoms:''' No response, system doesn't recognize mouse
'''Systematic Diagnosis:'''
# '''Power verification'''
#* Measure +5V at pin 3 of ADB connector
#* Check ground continuity at pin 4
#* Typical current draw: 50-80mA during operation
# '''Cable testing'''
#* Check for breaks at strain relief points
#* Test continuity of all four wires end-to-end
#* Common failure point: cable entry to mouse body
# '''ADB communication test'''
#* Use oscilloscope to verify data signal on pin 1
#* Check for 800μs attention pulse from host
#* Verify mouse responds with register data when polled
# '''Controller diagnostics'''
#* Check crystal oscillator (if present) for proper frequency
#* Verify controller power pins (+5V and ground)
#* Test for shorts on data lines
=== Component-Level Repairs ===
==== Circuit Board Repair ====
'''Common PCB Issues:'''
* Cracked traces near cable entry
* Cold solder joints on through-hole components
* Corrosion from liquid spills
'''Repair Techniques:'''
* Use 30AWG wire for trace repairs
* Reflow all solder joints with flux
* Clean corrosion with white vinegar, then IPA
* Apply conformal coating after repairs
==== Encoder Maintenance ====
'''Cleaning Procedure:'''
# Remove encoder wheels from shafts
# Clean wheel slots with soft brush
# Clean optical pairs with lens cleaning solution
# Verify proper spring tension on roller shafts
# Apply small amount of silicone lubricant to shafts
'''Alignment Check:'''
* Encoder wheels must be perpendicular
* LED must align with center of phototransistor
* Wheel must pass cleanly through optical gap
* No rubbing or binding during rotation
==== Cable Replacement ====
'''Required Skills:''' Soldering, cable preparation
'''Procedure:'''
# Source replacement 4-conductor cable with shield
# Match original wire colors if possible:
#* Pin 1 (Data): Usually white or yellow
#* Pin 2 (PSW): Usually black or brown
#* Pin 3 (+5V): Usually red
#* Pin 4 (Ground): Usually green or shield
# Maintain original cable length (approximately 1.2m)
# Use heat shrink tubing at stress points
=== Test Equipment & Tools ===
'''Essential Tools:'''
* Digital multimeter with continuity test
* Precision screwdriver set (Phillips #0, #1)
* Desoldering pump or wick
* Temperature-controlled soldering iron (15-25W)
* 90%+ isopropyl alcohol
* Cotton swabs and lint-free cloths
* Compressed air
'''Advanced Diagnostics:'''
* Oscilloscope (10MHz minimum bandwidth)
* Logic analyzer for protocol analysis
* ADB diagnostic software (TechTool, ADB Parser)
* Frequency counter for timing verification
=== Preventive Maintenance Schedule ===
'''Monthly:'''
* External cleaning of mouse surface
* Check cable for damage
'''Quarterly:'''
* Remove and clean ball
* Inspect encoder wheels
* Clean mouse pad surface
'''Annually:'''
* Disassemble and deep clean
* Check microswitch operation
* Inspect PCB for damage
* Test on known-good system


== Common Modifications ==
== Common Modifications ==


=== Two-Button Conversion ===
=== Two-Button Conversion ===
Enthusiasts discovered that most ADB controller chips included support for a second button, though Apple never implemented it. Common modifications included:
Most ADB controller chips included support for a second button, though Apple never implemented it. Common modifications included:


* Identifying the unused second button pin on the controller chip
* Identifying the unused second button pin on the controller chip (varies by manufacturer)
* Adding a tactile switch connected to this pin and ground
* Adding a tactile switch connected to this pin and ground
* Modifying the case to accommodate the additional button
* Modifying the case to accommodate the additional button
* Software support via third-party control panels
* Software support via third-party control panels (ClickChange, MouseWorks)


=== Optical Sensor Upgrade ===
=== Optical Sensor Upgrade ===
Modern retrofit kits allow replacement of the mechanical ball system with optical tracking:
Modern retrofit kits allow replacement of the mechanical ball system with optical tracking:


* TT Design's ADB Optical Mouse Retro Board
* TT Design's ADB Optical Mouse Retro Board (RP2040-based)
* Uses RP2040 microcontroller with modern optical sensor
* Uses modern optical sensor (PixArt or similar)
* Maintains original 100 CPI default with adjustable settings
* Maintains original 100 CPI default with adjustable settings
* Compatible with original ADB protocol and timing
* Compatible with original ADB protocol and timing
* Requires desoldering original PCB and installing retrofit board
=== Performance Enhancements ===
* '''Teflon pad replacement:''' Replace worn pads with PTFE dots
* '''Ball upgrade:''' Replace with precision phenolic resin ball
* '''Spring tension adjustment:''' Optimize encoder wheel pressure
* '''Shielding improvements:''' Add EMI shielding to reduce interference


== Maintenance & Repair ==
== Maintenance & Repair ==
Line 137: Line 323:
Regular maintenance was essential for reliable operation:
Regular maintenance was essential for reliable operation:


# Remove the retaining ring on the bottom of the mouse
# Remove the retaining ring on the bottom of the mouse (rotate counterclockwise)
# Extract the tracking ball
# Extract the tracking ball
# Clean ball with isopropyl alcohol
# Clean ball with isopropyl alcohol
# Remove lint and debris from encoder wheels using compressed air
# Remove lint and debris from encoder wheels using compressed air
# Clean encoder wheel surfaces with cotton swab and IPA
# Clean encoder wheel surfaces with cotton swab and IPA
# Clean mouse pad contacts if present
# Reassemble in reverse order
# Reassemble in reverse order


=== Common Failures ===
=== Common Failures ===
* '''Erratic cursor movement:''' Dirty encoder wheels or worn ball
* '''Erratic cursor movement:''' Dirty encoder wheels or worn ball (80% of issues)
* '''Button failure:''' Worn microswitch (replaceable with D2F series)
* '''Button failure:''' Worn microswitch (replaceable with D2F series)
* '''Intermittent connection:''' Broken wires at cable strain relief
* '''Intermittent connection:''' Broken wires at cable strain relief
Line 151: Line 338:


=== ADB Port Safety ===
=== ADB Port Safety ===
The ADB port lacked proper protection against hot-swapping on most systems. Connecting or disconnecting devices while powered could blow the ADB fuse on the motherboard, requiring professional repair or fuse replacement.
The ADB port lacked proper protection against hot-swapping on most systems. Connecting or disconnecting devices while powered could blow the ADB fuse on the motherboard (typically 1.1A polyfuse), requiring professional repair or fuse replacement.


== Historical Context ==
== Historical Context ==
Line 169: Line 356:
* '''Apple IIGS:''' GS/OS with built-in mouse driver
* '''Apple IIGS:''' GS/OS with built-in mouse driver
* '''Macintosh:''' System 3.2 through Mac OS 9.2.2
* '''Macintosh:''' System 3.2 through Mac OS 9.2.2
* '''Third-party:''' MouseKeys, QuicKeys, and other enhancement utilities
* '''NeXT:''' Compatible with ADB-equipped NeXT systems
* '''Third-party:''' MouseKeys, QuicKeys, SteerMouse, USB Overdrive (with adapters)


=== Control Panels ===
=== Control Panels ===
* '''Mouse control panel:''' Tracking speed adjustment (System 6.0+)
* '''Mouse control panel:''' Tracking speed adjustment (System 6.0+)
* '''CloseView::''' Cursor size and visibility options
* '''CloseView:''' Cursor size and visibility options
* '''Third-party tools:''' Added acceleration curves and button customization
* '''Third-party tools:''' Added acceleration curves and button customization
== Parts & Specifications ==
=== Replacement Components ===
{| class="wikitable" style="width:70%; text-align:center;"
|+'''Common Replacement Parts'''
! Component !! Specification !! Modern Equivalent
|-
| Microswitch || Omron D2F series || D2F-01F-T, D2FC-F-7N
|-
| Ball || 19mm rubber-coated steel || 3/4" precision bearing ball
|-
| Encoder wheels || 36-slot optical || Custom part (donor required)
|-
| LED || IR 940nm || Standard 3mm IR LED
|-
| Phototransistor || IR sensitive || Standard 3mm phototransistor
|-
| Controller IC || Various proprietary || No direct replacement
|}
=== Electrical Specifications ===
* '''Operating voltage:''' 4.75V - 5.25V
* '''Current consumption:''' 50mA typical, 100mA maximum
* '''Data rate:''' 10-50 kbit/s typical
* '''Temperature range:''' 10°C - 40°C operating
* '''Humidity:''' 20% - 80% non-condensing


== Collector Information ==
== Collector Information ==
Line 181: Line 396:
* '''Early models (1986-1988):''' Larger printed label with two screws
* '''Early models (1986-1988):''' Larger printed label with two screws
* '''Later models (1988-1993):''' Smaller label with single center screw
* '''Later models (1988-1993):''' Smaller label with single center screw
* '''Serial number format::''' First letter indicates year, second indicates country
* '''Serial number format:''' First letter indicates year, second indicates manufacturing location


=== Condition Assessment ===
=== Condition Assessment ===
* '''Case yellowing:''' Common due to brominated flame retardants or UV light
* '''Case yellowing:''' Common due to brominated flame retardants in ABS plastic
* '''Cable integrity:''' Check for cracks at strain relief points
* '''Cable integrity:''' Check for cracks at strain relief points
* '''Mechanical wear:''' Test ball retention and encoder wheel movement
* '''Mechanical wear:''' Test ball retention and encoder wheel movement
Line 190: Line 405:


=== Modern Usage ===
=== Modern Usage ===
* '''ADB-to-USB converters:''' Griffin iMate (discontinued), Wombat adapter
* '''ADB-to-USB converters:''' Griffin iMate (discontinued), Wombat adapter, Belkin F5U118
* '''Retrobrighting:''' Possible but risky for painted Platinum plastic
* '''Retrobrighting:''' Possible but risky for painted Platinum plastic
* '''Replacement parts:''' NOS balls and microswitches still available
* '''Replacement parts:''' NOS balls and microswitches still available
* '''Modern retrofits:''' Optical sensor upgrades maintain vintage appearance


== Related Accessories ==
== Related Accessories ==
Line 199: Line 415:
* [[Macintosh Mouse Pad]]
* [[Macintosh Mouse Pad]]
* [[ADB Extension Cable]]
* [[ADB Extension Cable]]
== See Also ==
* [[Apple Desktop Bus]]
* [[Apple Desktop Bus Protocol Specification]]
* [[ADB Device Programming]]


[[Category:Apple Vintage Accessories]]
[[Category:Apple Vintage Accessories]]
[[Category:Apple Desktop Bus]]
[[Category:Apple Desktop Bus]]