Maxim Integrated Manufacturer Skill
MPN Structure
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)
Example Decoding
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
Temperature Range Codes
| 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.
Package Type Codes (Second Letter)
Through-Hole Packages
| Code |
Package |
Notes |
| P |
PDIP |
Plastic DIP |
| N |
PDIP |
Plastic DIP (alternate) |
| J |
CERDIP |
Ceramic DIP |
Surface Mount - Standard
| 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 |
Surface Mount - Small Form Factor
| Code |
Package |
Notes |
| T |
SOT-23 |
Small outline transistor |
| X |
SC70 |
Ultra-small |
| K |
micro-MAX |
Micro footprint |
Surface Mount - Power/Thermal
| 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 |
Pin Count Codes (Third Letter)
| Code |
Pin Count |
| A |
8 |
| B |
10 |
| C |
12 |
| D |
14 |
| E |
16 |
| G |
24 |
| H |
28 |
| I |
28 (alternate) |
| P |
20 |
RoHS/Lead-Free Status
| 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 |
Common Prefixes and Product Categories
MAX Prefix (Maxim Original)
| 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 |
DS Prefix (Dallas Semiconductor)
| 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 |
ICL Prefix (Intersil Legacy)
| Series |
Category |
Examples |
| ICL7xxx |
ADC/DAC |
ICL7106, ICL7135 |
DG Prefix (Data Gate)
| Series |
Category |
Examples |
| DG4xxx |
Analog switches |
DG408, DG411, DG441 |
DS18B20 Special Suffixes
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 |
Common Series Reference
Interface ICs
| 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 |
- |
Temperature Sensors
| 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 |
Real-Time Clocks
| 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 |
Power Management
| Series |
Type |
Application |
| MAX17043 |
Fuel gauge |
Li-Ion battery |
| MAX17135 |
PMIC |
E-paper displays |
| MAX17xxx |
Battery management |
Various |
Handler Implementation Notes
Current Issues in MaximHandler
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:
- MAX232/MAX485 interface ICs (only generic IC patterns)
- MAX6675 thermocouple converters
- MAX17xxx power management
- MAX4xxx analog switches
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.
Recommended Pattern Additions
// 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-]*$");
Package Code Extraction
// 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.
}
}
Related Files
- Handler:
manufacturers/MaximHandler.java
- Component types:
INTERFACE_IC_MAXIM, VOLTAGE_REGULATOR_MAXIM, RTC_MAXIM, TEMPERATURE_SENSOR_MAXIM, BATTERY_MANAGEMENT_MAXIM, MEMORY_MAXIM
- Manufacturer entry:
ComponentManufacturer.MAXIM with regex (?:MAX|DS|ICL|DG|UP|LT|LTC|LTM)
Learnings & Edge Cases
- Dallas Semiconductor: Acquired by Maxim in 2001; DS-prefix parts are Maxim products
- Analog Devices acquisition: Maxim was acquired by ADI in 2021; parts still use Maxim naming
- MAX232 vs MAX232A: The "A" suffix indicates improved specs (faster slew rate, smaller caps)
- ESD-protected variants: MAX485E has enhanced ESD protection vs standard MAX485
- Temperature code position: In Maxim's 3/4-letter suffix, temperature is FIRST letter
- DS18B20 authenticity: Counterfeit DS18B20 sensors are common; genuine parts have laser-etched markings
- LT/LTC/LTM prefixes: These are Linear Technology products (also owned by ADI), but registered in Maxim handler
1---2name: maxim3description: Maxim Integrated (now Analog Devices) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Maxim/Dallas components or MaximHandler.4---5
6# Maxim Integrated Manufacturer Skill
7
8## MPN Structure
9
10Maxim MPNs follow this general structure:
11
12```
13[PREFIX][SERIES][GRADE][TEMP][PACKAGE][PINS][ROHS]
14 | | | | | | |
15 | | | | | | +-- +/- for RoHS status
16 | | | | | +-- Pin count designator
17 | | | | +-- Package type letter
18 | | | +-- Temperature range code
19 | | +-- Optional grade (A, B, C for accuracy/specs)
20 | +-- Series number (e.g., 232, 485, 6675)
21 +-- Family prefix (MAX, DS, ICL, DG)
22```
23
24### Example Decoding
25
26```
27MAX232CPE+
28| | |||+-- + = RoHS compliant
29| | ||+-- E = 16 pins
30| | |+-- P = Plastic DIP package
31| | +-- C = Commercial temp (0 to +70C)
32| +-- 232 = RS-232 driver/receiver
33+-- MAX = Maxim prefix
34
35DS18B20+
36| | |+-- + = RoHS compliant
37| | +-- (no package code = TO-92 default)
38| +-- 18B20 = Digital temperature sensor series
39+-- DS = Dallas Semiconductor prefix
40
41MAX6675ISA+
42| | |||+-- + = RoHS compliant
43| | ||+-- A = 8 pins
44| | |+-- S = SOIC package
45| | +-- I = Industrial temp (-40 to +85C)
46| +-- 6675 = K-type thermocouple-to-digital converter
47+-- MAX = Maxim prefix
48```
49
50---
51
52## Temperature Range Codes
53
54| Code | Range | Application |
55|------|-------|-------------|
56| C | 0C to +70C | Commercial |
57| I | -20C to +85C | Industrial (older) |
58| E | -40C to +85C | Extended Industrial |
59| A | -40C to +85C | Aerospace |
60| M | -55C to +125C | Military |
61
62Note: Temperature code is the FIRST letter of the suffix in Maxim's system.
63
64---
65
66## Package Type Codes (Second Letter)
67
68### Through-Hole Packages
69
70| Code | Package | Notes |
71|------|---------|-------|
72| P | PDIP | Plastic DIP |
73| N | PDIP | Plastic DIP (alternate) |
74| J | CERDIP | Ceramic DIP |
75
76### Surface Mount - Standard
77
78| Code | Package | Notes |
79|------|---------|-------|
80| S | SOIC (narrow) | 150mil body |
81| A | SOIC (wide) | 208mil or 300mil body |
82| W | SOIC (wide) | 300mil body |
83| E | QSOP | Quarter-size SOP |
84| U | TSSOP/TQFN | Thin packages |
85
86### Surface Mount - Small Form Factor
87
88| Code | Package | Notes |
89|------|---------|-------|
90| T | SOT-23 | Small outline transistor |
91| X | SC70 | Ultra-small |
92| K | micro-MAX | Micro footprint |
93
94### Surface Mount - Power/Thermal
95
96| Code | Package | Notes |
97|------|---------|-------|
98| F | TDFN | Thin dual flat no-lead |
99| L | QFN | Quad flat no-lead |
100| B | WLP | Wafer-level package |
101| G | BGA | Ball grid array |
102
103---
104
105## Pin Count Codes (Third Letter)
106
107| Code | Pin Count |
108|------|-----------|
109| A | 8 |
110| B | 10 |
111| C | 12 |
112| D | 14 |
113| E | 16 |
114| G | 24 |
115| H | 28 |
116| I | 28 (alternate) |
117| P | 20 |
118
119---
120
121## RoHS/Lead-Free Status
122
123| Suffix | Meaning |
124|--------|---------|
125| + | Lead-free, RoHS compliant |
126| - | Not RoHS qualified (leaded) |
127| # | RoHS compliant with exemption (e.g., high-lead solder) |
128| (none) | Pre-RoHS part number, leaded |
129
130---
131
132## Common Prefixes and Product Categories
133
134### MAX Prefix (Maxim Original)
135
136| Series | Category | Examples |
137|--------|----------|----------|
138| MAX232 | RS-232 interface | MAX232, MAX232A, MAX3232 |
139| MAX485 | RS-485 interface | MAX485, MAX485E, MAX487 |
140| MAX6xxx | Temperature sensors | MAX6675 (thermocouple), MAX6633 |
141| MAX11xxx | ADCs | MAX11100, MAX11200 |
142| MAX12xxx | DACs | MAX12555, MAX12900 |
143| MAX17xxx | Power management | MAX17043 (fuel gauge), MAX17135 |
144| MAX19xxx | Amplifiers | MAX19711, MAX19792 |
145| MAX4xxx | Analog switches | MAX4051, MAX4066, MAX4617 |
146
147### DS Prefix (Dallas Semiconductor)
148
149| Series | Category | Examples |
150|--------|----------|----------|
151| DS18xxx | Temperature sensors | DS18B20, DS18S20 |
152| DS12xxx | Real-time clocks | DS1232, DS12885, DS12C887 |
153| DS13xxx | Real-time clocks | DS1302, DS1307, DS3231 |
154| DS28xxx | EEPROM/Authentication | DS28E05, DS2890 |
155
156### ICL Prefix (Intersil Legacy)
157
158| Series | Category | Examples |
159|--------|----------|----------|
160| ICL7xxx | ADC/DAC | ICL7106, ICL7135 |
161
162### DG Prefix (Data Gate)
163
164| Series | Category | Examples |
165|--------|----------|----------|
166| DG4xxx | Analog switches | DG408, DG411, DG441 |
167
168---
169
170## DS18B20 Special Suffixes
171
172The DS18B20 family uses simplified package codes:
173
174| Suffix | Package | Notes |
175|--------|---------|-------|
176| (none) or + | TO-92 | Standard through-hole |
177| Z | TO-92 | Same as above |
178| U | MSOP-8 | Surface mount |
179| PAR | TO-92 | Parasitic power mode |
180
181---
182
183## Common Series Reference
184
185### Interface ICs
186
187| Series | Type | Equivalent/Related |
188|--------|------|-------------------|
189| MAX232 | RS-232 driver | MAX232A (faster), MAX3232 (3V) |
190| MAX485 | RS-485 transceiver | MAX485E (ESD protected), MAX487 |
191| MAX3232 | 3V RS-232 | - |
192| MAX3485 | 3V RS-485 | - |
193
194### Temperature Sensors
195
196| Series | Type | Output |
197|--------|------|--------|
198| DS18B20 | 1-Wire digital | 9-12 bit resolution |
199| DS18S20 | 1-Wire digital | 9-bit resolution |
200| MAX6675 | K-thermocouple | SPI, 12-bit |
201| MAX6633 | Local/remote sensor | I2C |
202
203### Real-Time Clocks
204
205| Series | Type | Interface |
206|--------|------|-----------|
207| DS1302 | RTC with RAM | 3-wire serial |
208| DS1307 | RTC with RAM | I2C |
209| DS3231 | High-precision RTC | I2C, TCXO |
210| DS12887 | RTC with battery | Parallel |
211
212### Power Management
213
214| Series | Type | Application |
215|--------|------|-------------|
216| MAX17043 | Fuel gauge | Li-Ion battery |
217| MAX17135 | PMIC | E-paper displays |
218| MAX17xxx | Battery management | Various |
219
220---
221
222## Handler Implementation Notes
223
224### Current Issues in MaximHandler
225
2261. **HashSet Usage**: Uses `new HashSet<>()` instead of immutable `Set.of()`:
227 ```java
228 // CURRENT (problematic)
229 Set<ComponentType> types = new HashSet<>();
230 types.add(...);
231
232 // RECOMMENDED
233 return Set.of(
234 ComponentType.INTERFACE_IC_MAXIM,
235 ComponentType.VOLTAGE_REGULATOR_MAXIM,
236 ...
237 );
238 ```
239
2402. **Missing Pattern Coverage**: Many product families lack patterns:
241 - MAX232/MAX485 interface ICs (only generic IC patterns)
242 - MAX6675 thermocouple converters
243 - MAX17xxx power management
244 - MAX4xxx analog switches
245
2463. **Incomplete Package Extraction**: Only handles DS18B20 specifically:
247 ```java
248 // Current implementation only handles DS18B20
249 if (mpn.startsWith("DS18")) {
250 if (mpn.endsWith("Z")) return "TO-92";
251 // etc.
252 }
253 ```
254
2554. **Limited Series Extraction**: Only extracts DS18B20 and MAX6xxx series.
256
257### Recommended Pattern Additions
258
259```java
260// Interface ICs
261registry.addPattern(ComponentType.INTERFACE_IC_MAXIM, "^MAX[234]8[0-9][A-Z0-9]*$");
262
263// Thermocouple converters
264registry.addPattern(ComponentType.TEMPERATURE_SENSOR_MAXIM, "^MAX66[0-9]{2}[A-Z0-9-]*$");
265
266// RTCs
267registry.addPattern(ComponentType.RTC_MAXIM, "^DS1[23][0-9]{2}[A-Z0-9]*$");
268registry.addPattern(ComponentType.RTC_MAXIM, "^DS3[0-9]{3}[A-Z0-9]*$");
269
270// Power management
271registry.addPattern(ComponentType.BATTERY_MANAGEMENT_MAXIM, "^MAX17[0-9]{3}[A-Z0-9-]*$");
272
273// Analog switches
274registry.addPattern(ComponentType.IC, "^MAX4[0-9]{3}[A-Z0-9-]*$");
275registry.addPattern(ComponentType.IC, "^DG4[0-9]{2}[A-Z0-9-]*$");
276```
277
278### Package Code Extraction
279
280```java
281// Maxim package codes follow TEMP+PACKAGE+PINS format
282// Example: MAX232CPE+ -> C=temp, P=PDIP, E=16-pin
283
284// Extract package from 3-letter suffix
285String suffix = extractSuffix(mpn); // e.g., "CPE"
286if (suffix.length() >= 2) {
287 char packageCode = suffix.charAt(1); // Second char is package
288 switch (packageCode) {
289 case 'P': case 'N': return "PDIP";
290 case 'S': return "SOIC (narrow)";
291 case 'A': case 'W': return "SOIC (wide)";
292 case 'E': return "QSOP";
293 case 'U': return "TSSOP";
294 case 'T': return "SOT-23";
295 // etc.
296 }
297}
298```
299
300---
301
302## Related Files
303
304- Handler: `manufacturers/MaximHandler.java`
305- Component types: `INTERFACE_IC_MAXIM`, `VOLTAGE_REGULATOR_MAXIM`, `RTC_MAXIM`, `TEMPERATURE_SENSOR_MAXIM`, `BATTERY_MANAGEMENT_MAXIM`, `MEMORY_MAXIM`
306- Manufacturer entry: `ComponentManufacturer.MAXIM` with regex `(?:MAX|DS|ICL|DG|UP|LT|LTC|LTM)`
307
308---
309
310## Learnings & Edge Cases
311
312- **Dallas Semiconductor**: Acquired by Maxim in 2001; DS-prefix parts are Maxim products
313- **Analog Devices acquisition**: Maxim was acquired by ADI in 2021; parts still use Maxim naming
314- **MAX232 vs MAX232A**: The "A" suffix indicates improved specs (faster slew rate, smaller caps)
315- **ESD-protected variants**: MAX485E has enhanced ESD protection vs standard MAX485
316- **Temperature code position**: In Maxim's 3/4-letter suffix, temperature is FIRST letter
317- **DS18B20 authenticity**: Counterfeit DS18B20 sensors are common; genuine parts have laser-etched markings
318- **LT/LTC/LTM prefixes**: These are Linear Technology products (also owned by ADI), but registered in Maxim handler
319
320<!-- Add new learnings above this line -->