.claude/skills/manufacturers/maxim/SKILL.md
Maxim Integrated (now Analog Devices) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Maxim/Dallas components or MaximHandler.
npx skillsauth add Cantara/lib-electronic-components maximInstall 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.
Maxim MPNs follow this general structure:
[PREFIX][SERIES][GRADE][TEMP][PACKAGE][PINS][ROHS]
| | | | | | |
| | | | | | +-- +/- for RoHS status
| | | | | +-- Pin count designator
| | | | +-- Package type letter
| | | +-- Temperature range code
| | +-- Optional grade (A, B, C for accuracy/specs)
| +-- Series number (e.g., 232, 485, 6675)
+-- Family prefix (MAX, DS, ICL, DG)
MAX232CPE+
| | |||+-- + = RoHS compliant
| | ||+-- E = 16 pins
| | |+-- P = Plastic DIP package
| | +-- C = Commercial temp (0 to +70C)
| +-- 232 = RS-232 driver/receiver
+-- MAX = Maxim prefix
DS18B20+
| | |+-- + = RoHS compliant
| | +-- (no package code = TO-92 default)
| +-- 18B20 = Digital temperature sensor series
+-- DS = Dallas Semiconductor prefix
MAX6675ISA+
| | |||+-- + = RoHS compliant
| | ||+-- A = 8 pins
| | |+-- S = SOIC package
| | +-- I = Industrial temp (-40 to +85C)
| +-- 6675 = K-type thermocouple-to-digital converter
+-- MAX = Maxim prefix
| Code | Range | Application | |------|-------|-------------| | C | 0C to +70C | Commercial | | I | -20C to +85C | Industrial (older) | | E | -40C to +85C | Extended Industrial | | A | -40C to +85C | Aerospace | | M | -55C to +125C | Military |
Note: Temperature code is the FIRST letter of the suffix in Maxim's system.
| Code | Package | Notes | |------|---------|-------| | P | PDIP | Plastic DIP | | N | PDIP | Plastic DIP (alternate) | | J | CERDIP | Ceramic DIP |
| Code | Package | Notes | |------|---------|-------| | S | SOIC (narrow) | 150mil body | | A | SOIC (wide) | 208mil or 300mil body | | W | SOIC (wide) | 300mil body | | E | QSOP | Quarter-size SOP | | U | TSSOP/TQFN | Thin packages |
| Code | Package | Notes | |------|---------|-------| | T | SOT-23 | Small outline transistor | | X | SC70 | Ultra-small | | K | micro-MAX | Micro footprint |
| Code | Package | Notes | |------|---------|-------| | F | TDFN | Thin dual flat no-lead | | L | QFN | Quad flat no-lead | | B | WLP | Wafer-level package | | G | BGA | Ball grid array |
| Code | Pin Count | |------|-----------| | A | 8 | | B | 10 | | C | 12 | | D | 14 | | E | 16 | | G | 24 | | H | 28 | | I | 28 (alternate) | | P | 20 |
| Suffix | Meaning | |--------|---------| | + | Lead-free, RoHS compliant | | - | Not RoHS qualified (leaded) | | # | RoHS compliant with exemption (e.g., high-lead solder) | | (none) | Pre-RoHS part number, leaded |
| Series | Category | Examples | |--------|----------|----------| | MAX232 | RS-232 interface | MAX232, MAX232A, MAX3232 | | MAX485 | RS-485 interface | MAX485, MAX485E, MAX487 | | MAX6xxx | Temperature sensors | MAX6675 (thermocouple), MAX6633 | | MAX11xxx | ADCs | MAX11100, MAX11200 | | MAX12xxx | DACs | MAX12555, MAX12900 | | MAX17xxx | Power management | MAX17043 (fuel gauge), MAX17135 | | MAX19xxx | Amplifiers | MAX19711, MAX19792 | | MAX4xxx | Analog switches | MAX4051, MAX4066, MAX4617 |
| Series | Category | Examples | |--------|----------|----------| | DS18xxx | Temperature sensors | DS18B20, DS18S20 | | DS12xxx | Real-time clocks | DS1232, DS12885, DS12C887 | | DS13xxx | Real-time clocks | DS1302, DS1307, DS3231 | | DS28xxx | EEPROM/Authentication | DS28E05, DS2890 |
| Series | Category | Examples | |--------|----------|----------| | ICL7xxx | ADC/DAC | ICL7106, ICL7135 |
| Series | Category | Examples | |--------|----------|----------| | DG4xxx | Analog switches | DG408, DG411, DG441 |
The DS18B20 family uses simplified package codes:
| Suffix | Package | Notes | |--------|---------|-------| | (none) or + | TO-92 | Standard through-hole | | Z | TO-92 | Same as above | | U | MSOP-8 | Surface mount | | PAR | TO-92 | Parasitic power mode |
| Series | Type | Equivalent/Related | |--------|------|-------------------| | MAX232 | RS-232 driver | MAX232A (faster), MAX3232 (3V) | | MAX485 | RS-485 transceiver | MAX485E (ESD protected), MAX487 | | MAX3232 | 3V RS-232 | - | | MAX3485 | 3V RS-485 | - |
| Series | Type | Output | |--------|------|--------| | DS18B20 | 1-Wire digital | 9-12 bit resolution | | DS18S20 | 1-Wire digital | 9-bit resolution | | MAX6675 | K-thermocouple | SPI, 12-bit | | MAX6633 | Local/remote sensor | I2C |
| Series | Type | Interface | |--------|------|-----------| | DS1302 | RTC with RAM | 3-wire serial | | DS1307 | RTC with RAM | I2C | | DS3231 | High-precision RTC | I2C, TCXO | | DS12887 | RTC with battery | Parallel |
| Series | Type | Application | |--------|------|-------------| | MAX17043 | Fuel gauge | Li-Ion battery | | MAX17135 | PMIC | E-paper displays | | MAX17xxx | Battery management | Various |
HashSet Usage: Uses new HashSet<>() instead of immutable Set.of():
// CURRENT (problematic)
Set<ComponentType> types = new HashSet<>();
types.add(...);
// RECOMMENDED
return Set.of(
ComponentType.INTERFACE_IC_MAXIM,
ComponentType.VOLTAGE_REGULATOR_MAXIM,
...
);
Missing Pattern Coverage: Many product families lack patterns:
Incomplete Package Extraction: Only handles DS18B20 specifically:
// Current implementation only handles DS18B20
if (mpn.startsWith("DS18")) {
if (mpn.endsWith("Z")) return "TO-92";
// etc.
}
Limited Series Extraction: Only extracts DS18B20 and MAX6xxx series.
// Interface ICs
registry.addPattern(ComponentType.INTERFACE_IC_MAXIM, "^MAX[234]8[0-9][A-Z0-9]*$");
// Thermocouple converters
registry.addPattern(ComponentType.TEMPERATURE_SENSOR_MAXIM, "^MAX66[0-9]{2}[A-Z0-9-]*$");
// RTCs
registry.addPattern(ComponentType.RTC_MAXIM, "^DS1[23][0-9]{2}[A-Z0-9]*$");
registry.addPattern(ComponentType.RTC_MAXIM, "^DS3[0-9]{3}[A-Z0-9]*$");
// Power management
registry.addPattern(ComponentType.BATTERY_MANAGEMENT_MAXIM, "^MAX17[0-9]{3}[A-Z0-9-]*$");
// Analog switches
registry.addPattern(ComponentType.IC, "^MAX4[0-9]{3}[A-Z0-9-]*$");
registry.addPattern(ComponentType.IC, "^DG4[0-9]{2}[A-Z0-9-]*$");
// Maxim package codes follow TEMP+PACKAGE+PINS format
// Example: MAX232CPE+ -> C=temp, P=PDIP, E=16-pin
// Extract package from 3-letter suffix
String suffix = extractSuffix(mpn); // e.g., "CPE"
if (suffix.length() >= 2) {
char packageCode = suffix.charAt(1); // Second char is package
switch (packageCode) {
case 'P': case 'N': return "PDIP";
case 'S': return "SOIC (narrow)";
case 'A': case 'W': return "SOIC (wide)";
case 'E': return "QSOP";
case 'U': return "TSSOP";
case 'T': return "SOT-23";
// etc.
}
}
manufacturers/MaximHandler.javaINTERFACE_IC_MAXIM, VOLTAGE_REGULATOR_MAXIM, RTC_MAXIM, TEMPERATURE_SENSOR_MAXIM, BATTERY_MANAGEMENT_MAXIM, MEMORY_MAXIMComponentManufacturer.MAXIM with regex (?:MAX|DS|ICL|DG|UP|LT|LTC|LTM)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.