Lib-electronic-components resistor

Use when working with resistor components - adding resistor patterns, parsing resistor MPNs, extracting resistance values, tolerance, or package codes from resistor part numbers.

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/resistor" ~/.claude/skills/cantara-lib-electronic-components-resistor && rm -rf "$T"
manifest: .claude/skills/resistor/SKILL.md
source content

Resistor Component Skill

Guidance for working with resistor components in the lib-electronic-components library.

Supported Manufacturers & Patterns

ManufacturerHandlerMPN PatternsExample
Vishay
VishayHandler
CRCW####...
,
RCG#...
,
WSL#...
CRCW060310K0FKEA
Yageo
YageoHandler
RC####...
,
RT####...
,
RL####...
RC0603FR-0710KL
Panasonic
PanasonicHandler
ERJ...
,
ERJP...
,
ERJG...
ERJ-3EKF1001V
Bourns
BournsHandler
CR...
,
CRM...
,
CRH...
CR0603-FX-1001ELF

ComponentTypes

// Base type
ComponentType.RESISTOR

// Manufacturer-specific types
ComponentType.RESISTOR_CHIP_VISHAY
ComponentType.RESISTOR_THT_VISHAY
ComponentType.RESISTOR_CHIP_YAGEO
ComponentType.RESISTOR_THT_YAGEO
ComponentType.RESISTOR_CHIP_PANASONIC
ComponentType.RESISTOR_CHIP_BOURNS

MPN Structure

Vishay CRCW Series

CRCW 0603 10K0 F K EA
│    │    │    │ │ │
│    │    │    │ │ └── Packaging (EA=Tape & Reel)
│    │    │    │ └──── Termination (K=Standard)
│    │    │    └────── Tolerance (F=1%, J=5%)
│    │    └─────────── Value (10K0 = 10kΩ)
│    └──────────────── Size (0603)
└───────────────────── Series

Yageo RC Series

RC 0603 FR -07 10K L
│  │    │   │  │   │
│  │    │   │  │   └── Packaging (L=7" Reel)
│  │    │   │  └────── Value (10K = 10kΩ)
│  │    │   └───────── TCR Code (07=±100ppm)
│  │    └───────────── Tolerance (F=1%, J=5%)
│  └────────────────── Size (0603)
└───────────────────── Series (RC=Thick Film)

Key Handler Methods

Extract Package Code

// Returns "0603" from "CRCW060310K0FKEA"
handler.extractPackageCode("CRCW060310K0FKEA");

// Returns "0805" from "RC0805JR-0710KL"
handler.extractPackageCode("RC0805JR-0710KL");

Extract Series

// Returns "CRCW" from Vishay
handler.extractSeries("CRCW060310K0FKEA");

// Returns "RC0603" from Yageo (includes size)
handler.extractSeries("RC0603FR-0710KL");

Adding New Resistor Patterns

  1. In the manufacturer handler's
    initializePatterns()
    :
registry.addPattern(ComponentType.RESISTOR, "^NEWPFX[0-9]{4}.*");
registry.addPattern(ComponentType.RESISTOR_CHIP_MANUFACTURER, "^NEWPFX[0-9]{4}.*");
  1. Add to
    getSupportedTypes()
    :
types.add(ComponentType.RESISTOR);
types.add(ComponentType.RESISTOR_CHIP_MANUFACTURER);
  1. Implement
    matches()
    for direct pattern matching (faster than regex fallback)

Similarity Calculation

ResistorSimilarityCalculator
compares:

  • Resistance value (extracted from MPN)
  • Package size (0402, 0603, 0805, etc.)
  • Tolerance class (1%, 5%, etc.)
  • Power rating (if determinable)

Common Package Sizes

CodeMetricSize (mm)
040210051.0 x 0.5
060316081.6 x 0.8
080520122.0 x 1.25
120632163.2 x 1.6
251263326.3 x 3.2

Learnings & Quirks

<!-- Record component-specific discoveries, edge cases, and quirks here -->