.claude/skills/manufacturers/ti/SKILL.md
Texas Instruments MPN encoding patterns, suffix decoding, and handler guidance. Use when working with TI components or TIHandler.
npx skillsauth add Cantara/lib-electronic-components tiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
TI MPNs follow this general structure:
[PREFIX][SERIES][VARIANT][PACKAGE][TEMP][QUALIFIER]
│ │ │ │ │ │
│ │ │ │ │ └── Optional: R=Tape/Reel, E=Lead-free
│ │ │ │ └── Temperature: I=Industrial, Q=Automotive, M=Military
│ │ │ └── Package code (see table below)
│ │ └── Variant letter (A, B, C for improved specs)
│ └── Series number (e.g., 358, 7805, 317)
└── Family prefix (LM, TL, TPS, SN, etc.)
LM358DR
│ │ ││
│ │ │└── R = Tape and Reel
│ │ └── D = SOIC package
│ └── 358 = Dual Op-Amp series
└── LM = Linear/Mixed-signal prefix
TPS63020DSJR
│ │ │ │
│ │ │ └── R = Tape and Reel
│ │ └── DSJ = SON package (3x3mm)
│ └── 63020 = Buck-Boost converter
└── TPS = Power Supply prefix
| Code | Package | Pin Count | Notes | |------|---------|-----------|-------| | N | DIP | 8-40 | Plastic DIP | | P | DIP | 8-40 | Plastic DIP (alternate) | | T | TO-220 | 3-5 | Power package | | T3 | TO-220 | 3 | 3-pin TO-220 | | K | TO-3 | 2-3 | Metal can power | | H | TO-39 | 8 | Metal can |
| Code | Package | Pitch | Notes | |------|---------|-------|-------| | D | SOIC | 1.27mm | 8-16 pins | | DW | SOIC-Wide | 1.27mm | Wide body | | PW | TSSOP | 0.65mm | Thin profile | | DGK | MSOP/VSSOP | 0.5mm | Mini SOIC | | DBV | SOT-23 | 0.95mm | 5-6 pins | | DRL | SOT-553 | 0.5mm | Very small | | DRV | SON | 0.5mm | QFN variant |
| Code | Package | Notes | |------|---------|-------| | KC | TO-252 (DPAK) | Medium power SMD | | KV | TO-252 | Variant | | MP | SOT-223 | 4-pin power | | DT | SOT-223 | Alternate code |
| Prefix | Category | Examples | |--------|----------|----------| | LM | General analog | LM358 (op-amp), LM7805 (regulator), LM317 (adj reg) | | TL | TI Linear | TL072 (JFET op-amp), TL431 (reference) | | NE | Signetics legacy | NE5532 (low-noise op-amp) | | UA | Original TI | UA7805 (equivalent to LM7805) |
| Prefix | Category | Examples | |--------|----------|----------| | TPS | Power supply | TPS63020 (buck-boost), TPS7350 (LDO) | | TLV | Low voltage | TLV431 (low-V reference) | | LP | Low power | LP2950 (LDO) |
| Prefix | Category | Examples | |--------|----------|----------| | SN | TI logic | SN74HC595 (shift register) | | CD | CMOS logic | CD4017 (decade counter) |
| Prefix | Category | Examples | |--------|----------|----------| | MSP430 | Ultra-low-power MCU | MSP430G2553 | | CC | Wireless MCU | CC2541 (BLE), CC3200 (WiFi) |
| Suffix | Range | Application | |--------|-------|-------------| | (none) | 0°C to +70°C | Commercial | | I | -40°C to +85°C | Industrial | | A | -40°C to +85°C | Industrial (alternate) | | Q | -40°C to +125°C | Automotive | | M | -55°C to +125°C | Military |
LM35 = Temperature sensor (letter A-D after "35") LM358 = Dual op-amp (digit 8 after "35")
LM35DZ → Temperature sensor (D = grade, Z = TO-92 package)
LM358N → Dual op-amp (8 = part of series, N = DIP package)
Handler Pattern:
// LM35 sensors: letter A-D immediately after "35"
"^LM35[A-D][A-Z0-9-]*$"
// LM358 op-amps: digit after "35"
"^LM358[A-Z0-9]*(?:N|D|P|DG|PW)?$"
78xx = Positive voltage regulator 79xx = Negative voltage regulator
LM7805CT → +5V regulator, TO-220
LM7905CT → -5V regulator, TO-220
| Series | Type | Equivalent | |--------|------|------------| | LM358 | Dual, general purpose | MC1458, RC4558 | | LM324 | Quad, general purpose | MC3403 | | TL072 | Dual JFET, low noise | TL082 | | TL074 | Quad JFET | TL084 | | NE5532 | Dual, low noise | SA5532 | | LM311 | Comparator | LM211 |
| Series | Type | Voltage | Equivalent | |--------|------|---------|------------| | LM7805 | Fixed positive | +5V | MC7805, UA7805 | | LM7812 | Fixed positive | +12V | MC7812 | | LM7905 | Fixed negative | -5V | MC7905 | | LM317 | Adjustable positive | 1.25-37V | LM350, LM338 | | LM337 | Adjustable negative | -1.25 to -37V | - |
| Series | Type | Output | |--------|------|--------| | LM35 | Precision analog | 10mV/°C | | TMP36 | Precision analog | 10mV/°C + 500mV offset |
// TI package codes come AFTER the base part number
// Example: LM358D → base="LM358", package="D"
// For voltage regulators, package often follows voltage
// Example: LM7805CT → base="LM7805", package="CT" (TO-220)
// CRITICAL: Check longer suffixes BEFORE shorter ones!
// "LM7805DT".endsWith("T") is TRUE, but DT=SOT-223, not TO-220
if (suffix.endsWith("CT")) return "TO-220"; // 2-char first
if (suffix.endsWith("DT")) return "SOT-223"; // 2-char first
if (suffix.endsWith("MP")) return "SOT-223"; // 2-char first
if (suffix.endsWith("KC")) return "TO-252"; // 2-char first
if (suffix.endsWith("T")) return "TO-220"; // 1-char LAST
// Same for SOIC vs MSOP vs TSSOP
if (suffix.startsWith("DGK")) return "MSOP"; // 3-char first
if (suffix.startsWith("PW")) return "TSSOP"; // 2-char
if (suffix.startsWith("D")) return "SOIC"; // 1-char LAST
Bug Example (Fixed in PR #78):
// WRONG - "DT" ends with "T" so this returns TO-220 incorrectly
if (upperMpn.endsWith("T")) return "TO-220"; // Matches first!
if (upperMpn.endsWith("DT")) return "SOT-223"; // Never reached
// CORRECT - Check longer suffixes first
if (upperMpn.endsWith("DT")) return "SOT-223"; // Matches correctly
if (upperMpn.endsWith("T")) return "TO-220"; // Only bare "T"
// Extract base series before package/temperature suffix
// LM358APWRQ1 → LM358 (ignore A=variant, PW=package, R=tape, Q1=automotive)
// Voltage regulators include voltage in series
// LM7805 → full series is "LM7805" not just "LM78"
manufacturers/TIHandler.javaOPAMP_TI, VOLTAGE_REGULATOR_LINEAR_TI, VOLTAGE_REGULATOR_SWITCHING_TI, TEMPERATURE_SENSOR_TI, LED_TIPackageCodeRegistry.java (standard codes)endsWith() for package detection, ALWAYS check longer suffixes first. "DT" ends with "T", so checking "T" first causes wrong results.handlers package, NOT manufacturers package (causes classpath shadowing)MPNUtils.getManufacturerHandler("LM358") in tests, not new TIHandler() (causes circular init)data-ai
Cost-effective task delegation strategy using Haiku model for straightforward work. Use when planning how to approach simple, pattern-following tasks to minimize costs.
tools
Use when working with component similarity calculations - comparing MPNs, finding equivalent parts, implementing new similarity calculators, or understanding how component matching works.
testing
Use when working with transistor similarity calculations - comparing BJT MPNs, understanding NPN/PNP polarity matching, equivalent groups like 2N2222/PN2222, or transistor-specific similarity logic.
testing
Use when working with sensor similarity calculations - comparing temperature/accelerometer/humidity sensor MPNs, understanding sensor families, equivalent parts, or sensor-specific similarity logic.