| name | similarity-connector |
| description | Use when working with connector similarity calculations - comparing connector MPNs, understanding pin count/pitch/family matching, or connector-specific similarity logic. |
Connector Similarity Calculator Skill
Guidance for working with ConnectorSimilarityCalculator in the lib-electronic-components library.
For metadata-driven similarity architecture, see /similarity-metadata:
- SpecImportance levels (CRITICAL, HIGH, MEDIUM, LOW, OPTIONAL)
- ToleranceRule types (exactMatch, percentageTolerance, minimumRequired, etc.)
- SimilarityProfile contexts (DESIGN_PHASE, REPLACEMENT, COST_OPTIMIZATION, etc.)
- Calculator integration patterns and gotchas
Overview
The ConnectorSimilarityCalculator compares connectors based on:
- Family - Connector type/series (must match)
- Pin count - Number of contacts (must match for high similarity)
- Pitch - Contact spacing
- Mounting type - Through-hole vs SMD
- Series compatibility - Within TE, Molex, etc.
Applicable Types
ComponentType.CONNECTOR
ComponentType.CONNECTOR_MOLEX
ComponentType.CONNECTOR_TE
ComponentType.CONNECTOR_JST
ComponentType.CONNECTOR_HIROSE
ComponentType.CONNECTOR_AMPHENOL
ComponentType.CONNECTOR_HARWIN
Returns false for null type.
Similarity Thresholds
HIGH_SIMILARITY = 0.9;
MEDIUM_SIMILARITY = 0.5;
LOW_SIMILARITY = 0.3;
Key Rules
Family Must Match
Different connector families always return 0.0:
calculator.calculateSimilarity("TE-connector", "Molex-connector", registry);
Pin Count Rules
calculator.calculateSimilarity("10-pin", "10-pin-variant", registry);
calculator.calculateSimilarity("10-pin", "20-pin", registry);
TE Connectivity Connectors
Part Number Format
1-292161-0
│ │ │
│ │ └── Configuration/variant
│ └───────── Series number
└─────────── Prefix
calculator.calculateSimilarity("1-292161-0", "1-292161-2", registry);
Würth Headers (WR-PHD)
calculator.calculateSimilarity("61300411121", "61300411021", registry);
Similarity Building Blocks
When connectors aren't direct variants, similarity is built from:
- Same pin count: +0.2
- Same pitch: +0.2
- Same mounting type: +0.1
Connector Handlers
The calculator uses specialized handlers:
TEConnectorHandler
MolexConnectorHandler
JSTConnectorHandler
- etc.
These extract:
getPinCount(mpn) - Number of contacts
getPitch(mpn) - Contact spacing (mm)
getMountingType(mpn) - THT/SMD
getFamily() - Connector family name
getVariant(mpn) - Specific variant
areCompatible(mpn1, mpn2) - Direct compatibility check
Test Examples
calculator.calculateSimilarity("1-292161-0", "1-292161-0", registry);
calculator.calculateSimilarity("1-292161-0", "1-292161-2", registry);
calculator.calculateSimilarity("TE-part", "Molex-part", registry);
calculator.calculateSimilarity(null, "1-292161-0", registry);
Learnings & Quirks
TE Part Numbers
- Format often:
X-XXXXXX-X or XXXXXXXX
- Series number is key to compatibility
- Last digits often indicate configuration
Molex Part Numbers
- Often 10+ digits
- Series embedded in part number
- Configuration codes vary by series
Metadata-Driven Implementation (January 2026)
Status: ✅ Converted (pre-existing)
The ConnectorSimilarityCalculator uses a metadata-driven approach with ConnectorHandler integration.
Specs Compared
| Spec | Importance | Tolerance Rule | Description |
|---|
| pinCount | CRITICAL | exactMatch | Number of pins (MUST match) |
| pitch | CRITICAL | exactMatch | Pin spacing (2.54mm, 1.27mm, etc.) |
| family | HIGH | exactMatch | Connector series/family |
| mountingType | HIGH | exactMatch | THT, SMD, Press-fit |
Implementation Pattern
if (!handler1.getFamily().equals(handler2.getFamily())) {
return 0.0;
}
int pinCount1 = handler1.getPinCount(mpn1);
int pinCount2 = handler2.getPinCount(mpn2);
double pitch1 = handler1.getPitch(mpn1);
double pitch2 = handler2.getPitch(mpn2);
Key Feature: Handler-Based Extraction
Unlike other calculators that use regex patterns, ConnectorSimilarityCalculator uses ConnectorHandler implementations for accurate spec extraction.
Why more accurate: Connectors have complex MPN formats that vary by manufacturer. Using handlers ensures correct extraction of pin count and pitch.
Pin Count Extraction
- Critical for compatibility
- Different manufacturers encode differently
- Some require handler-specific logic
Pitch Variations
- 2.54mm (0.1") - Standard through-hole
- 2.00mm - Common header pitch
- 1.27mm (0.05") - Fine pitch
- 0.5mm - FPC connectors
Mounting Types
- THT (Through-Hole Technology)
- SMT/SMD (Surface Mount)
- Press-fit
- Wire-to-board