Lib-electronic-components mps

Monolithic Power Systems MPN encoding patterns, suffix decoding, and handler guidance. Use when working with MPS power components or MPSHandler.

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/manufacturers/mps" ~/.claude/skills/cantara-lib-electronic-components-mps && rm -rf "$T"
manifest: .claude/skills/manufacturers/mps/SKILL.md
source content

Monolithic Power Systems (MPS) Manufacturer Skill

Manufacturer Overview

MPS (Monolithic Power Systems) specializes in high-performance power management solutions. The company is known for:

  • DC-DC Converters: Step-down (buck), step-up (boost), and SEPIC converters
  • LED Drivers: Constant-current drivers for backlighting and general illumination
  • Motor Drivers: Stepper and brushless DC motor controllers
  • Power Modules: Integrated solutions with inductor and passives included
  • Automotive-grade variants: AEC-Q100 qualified parts (MPQ series)

MPN Structure

MPS MPNs follow this general structure:

[PREFIX][SERIES][VARIANT][PACKAGE][-SUFFIX]
   |       |        |        |        |
   |       |        |        |        +-- Optional: LF=Lead-free, Z=RoHS, AEC1=Automotive
   |       |        |        +-- 2-letter package code (EN, DN, GQ, etc.)
   |       |        +-- Optional variant letter
   |       +-- 3-4 digit part number
   +-- MP, MPQ (automotive), or MPM (module)

Prefix Meanings

PrefixCategoryPatternDescription
MP1Step-Down
MP1xxx
Entry-level DC-DC converters
MP2Step-Down/LDO
MP2xxx
Buck converters and LDOs
MP3LED Driver
MP3xxx
LED driver ICs
MP4High-Current
MP4xxx
High-current step-down converters
MP5Step-Up/SEPIC
MP5xxx
Boost and SEPIC converters
MP6Motor Driver
MP6xxx
Stepper/BLDC motor drivers
MP7Power Switch
MP7xxx
Load switches and eFuses
MP8Multi-Channel
MP8xxx
PMICs with multiple outputs
MP9High-Voltage
MP9xxx
High-voltage DC-DC converters
MPQAutomotive
MPQxxxx
AEC-Q100 qualified versions
MPMModule
MPMxxxx
Power modules with inductor

Example Decoding

MP1584EN-LF-Z
|  |   ||  | |
|  |   ||  | +-- Z = RoHS compliant
|  |   ||  +-- LF = Lead-free
|  |   |+-- EN = SOIC-8E package
|  |   +-- (no variant letter)
|  +-- 1584 = 3A step-down converter
+-- MP = Standard MPS prefix

MPQ4560GQ-AEC1-LF-Z
|  |   ||    |
|  |   ||    +-- AEC1-LF-Z = Automotive + Lead-free + RoHS
|  |   |+-- GQ = QFN package
|  |   +-- (no variant)
|  +-- 4560 = 2A step-down converter
+-- MPQ = Automotive-grade prefix

MPM3610GQV-Z
|  |   |  |
|  |   |  +-- Z = RoHS
|  |   +-- GQV = QFN variant package
|  +-- 3610 = 1.2A power module
+-- MPM = Power module prefix

Package Codes

QFN Variants

CodePackageNotes
GQQFNStandard QFN
GLQFNQFN variant
GRQFNQFN variant
GSQFN-EPQFN with exposed pad
GTQFNQFN variant
GUQFNQFN variant
GVQFNQFN variant
GNQFNQFN variant

WLCSP (Wafer-Level Chip Scale Package)

CodePackageNotes
GFWLCSPUltra-small form factor
GWWLCSPWLCSP variant

SOIC/SOP Variants

CodePackageNotes
ENSOIC-8EExtended SOIC-8
DNSO-8Standard SOIC-8
ECSOIC-8SOIC-8 variant
EFSOIC-8SOIC-8 variant
EGTSSOP-8Thin profile
EHTSSOP-1616-pin TSSOP
EJSOP-8SOP-8 variant
EKMSOP-8Mini SOIC-8
ELMSOP-10Mini SOIC-10

SOT Variants

CodePackageNotes
DFTSOT-23Thin SOT-23
DGTSOT-23-55-pin thin SOT
DHSOT-23-88-pin SOT-23

DFN Variants

CodePackageNotes
DJDFNStandard DFN
DKDFN-1010-pin DFN
DLDFN-1212-pin DFN

Module Packages

CodePackageNotes
MNQFN-ModuleModule with QFN footprint
MFModule-BGABGA module package

Power Packages

CodePackageNotes
HFTO-263D2PAK power package
HNTO-220Through-hole power

Component Type Mapping

The MPSHandler supports these ComponentTypes:

MPN PatternComponentTypeDescription
MP1xxx
,
MP2xxx
,
MP4xxx
,
MP5xxx
,
MP7xxx
,
MP8xxx
,
MP9xxx
VOLTAGE_REGULATORDC-DC converters and regulators
MPQxxxx
(except 3xxx/6xxx)
VOLTAGE_REGULATORAutomotive DC-DC converters
MPMxxxx
VOLTAGE_REGULATORPower modules
MP3xxx
LED_DRIVERLED driver ICs
MPQ3xxx
LED_DRIVERAutomotive LED drivers
MP6xxx
MOTOR_DRIVERMotor controller ICs
MPQ6xxx
MOTOR_DRIVERAutomotive motor drivers
All MPS partsICBase IC type for all parts

Series Extraction Rules

The handler extracts series as follows:

// MPM series: returns "MPM"
"MPM3610GQV-Z" -> "MPM"

// MPQ series: returns "MPQ"
"MPQ4560GQ-AEC1-LF-Z" -> "MPQ"

// Standard MP[1-9]xxx: returns first 3 characters
"MP1584EN-LF-Z" -> "MP1"
"MP2307DN-LF-Z" -> "MP2"
"MP6500HF" -> "MP6"

Series Descriptions

SeriesCategory
MP1Step-Down Converters
MP2Step-Down/LDO Converters
MP3LED Drivers
MP4High-Current Step-Down
MP5Step-Up/SEPIC Converters
MP6Motor Drivers
MP7Power Switches
MP8Multi-Channel PMIC
MP9High-Voltage Converters
MPQAutomotive Grade
MPMPower Modules

Package Code Extraction Rules

The handler extracts package codes with this logic:

  1. Remove common suffixes:
    -LF-Z
    ,
    -Z
    ,
    -LF
    ,
    -AEC1
    , etc.
  2. Match pattern:
    MP[A-Z]?[0-9]{3,4}([A-Z]{2}).*
  3. Look up the 2-letter code in the PACKAGE_CODES map
  4. Return the mapped package name or the raw code
// Example extraction:
"MP1584EN-LF-Z"
  -> Remove suffix: "MP1584EN"
  -> Match: group(1) = "EN"
  -> Lookup: PACKAGE_CODES.get("EN") = "SOIC-8E"

"MPQ4560GQ-AEC1-LF-Z"
  -> Remove suffix: "MPQ4560GQ"
  -> Match: group(1) = "GQ"
  -> Lookup: PACKAGE_CODES.get("GQ") = "QFN"

Official Replacement Logic

The handler identifies official replacements in two scenarios:

Same Base Part, Different Package

MP1584EN <-> MP1584DN   // Same part, different package (SOIC-8E vs SO-8)

Automotive Equivalents (MPQ vs MP)

MP4560GQ <-> MPQ4560GQ  // Consumer vs automotive grade

The

isOfficialReplacement()
method checks:

  1. Automotive equivalents (MPQ ↔ MP with same 4-digit number)
  2. Same series and same base part number

Automotive Detection

MPS uses two indicators for automotive-grade parts:

// Method: isAutomotiveGrade(String mpn)

// 1. MPQ prefix indicates automotive
"MPQ4560GQ-LF-Z" -> true

// 2. -AEC suffix indicates automotive qualification
"MP4560GQ-AEC1-LF-Z" -> true

// Standard consumer parts
"MP4560GQ-LF-Z" -> false

Common Part Examples

Step-Down Converters (Buck)

MPNDescriptionKey Specs
MP1584EN-LF-Z3A step-down4.5-28V input, SOT-8E
MP2307DN-LF-Z3A step-down4.75-23V input, SO-8
MP2359DJ-LF-Z1.2A step-down4.5-24V input, DFN
MP4560DN-LF-Z2A step-down4.5-55V input, SO-8

LED Drivers

MPNDescriptionKey Specs
MP3302DJ-LF-ZLED driver2.7-6V input, DFN
MP3394GS-Z4-channel LEDQFN-EP

Motor Drivers

MPNDescriptionKey Specs
MP6500HFStepper driver2.5A, TO-263
MP6513GQ-Z3-phase BLDCQFN

Power Modules

MPNDescriptionKey Specs
MPM3610GQV-Z1.2A moduleIntegrated inductor
MPM3833GQV-Z3.3A moduleIntegrated inductor

Handler Implementation Notes

Supported Types Declaration

The handler uses

Set.of()
for immutable type set:

public Set<ComponentType> getSupportedTypes() {
    return Set.of(
            ComponentType.IC,
            ComponentType.VOLTAGE_REGULATOR,
            ComponentType.LED_DRIVER,
            ComponentType.MOTOR_DRIVER
    );
}

Pattern Registration

Patterns are registered for both specific and base types:

// MP3xxx registered for both LED_DRIVER and IC
registry.addPattern(ComponentType.LED_DRIVER, "^MP3[0-9]{3}[A-Z0-9-]*$");
registry.addPattern(ComponentType.IC, "^MP3[0-9]{3}[A-Z0-9-]*$");

matches() Implementation

The handler overrides

matches()
for efficient direct pattern checking:

// Direct pattern checks by type for performance
switch (type) {
    case VOLTAGE_REGULATOR:
        return isVoltageRegulator(upperMpn);
    case LED_DRIVER:
        return isLEDDriver(upperMpn);
    case MOTOR_DRIVER:
        return isMotorDriver(upperMpn);
    case IC:
        return isMPSPart(upperMpn);
}

Related Files

  • Handler:
    manufacturers/MPSHandler.java
  • Component types:
    VOLTAGE_REGULATOR
    ,
    LED_DRIVER
    ,
    MOTOR_DRIVER
    ,
    IC
  • Test file:
    handlers/MPSHandlerTest.java
    (if exists)

Learnings & Edge Cases

  • MPQ vs MP: The automotive variant MPQ has a 4-digit part number (MPQ4560) while standard MP uses 4 digits after the prefix character (MP4560). This is a 1-character offset when extracting the numeric part.
  • AEC suffix: Parts can be automotive without MPQ prefix if they have
    -AEC1
    suffix. Always check both.
  • Package code position: Package codes come immediately after the part number digits, before any hyphens. The handler strips
    -LF-Z
    and similar suffixes before extraction.
  • Module prefix MPM: Power modules have their own prefix and are different from standard MP parts - they include an integrated inductor.
  • Series overlap: MP6xxx (motor drivers) and MPQ6xxx are the same - both are motor drivers. Same for MP3xxx/MPQ3xxx (LED drivers). The MPQ prefix only adds automotive qualification.
  • getSupportedTypes() uses Set.of(): The handler correctly uses immutable Set.of() instead of HashSet.
  • No manufacturer-specific types: Unlike some handlers, MPS doesn't define manufacturer-specific ComponentTypes like
    VOLTAGE_REGULATOR_MPS
    . It uses the base types directly.
<!-- Add new learnings above this line -->