Lib-electronic-components nxp

NXP Semiconductors MPN encoding patterns, suffix decoding, and handler guidance. Use when working with LPC, Kinetis, i.MX, S32K, MOSFETs, or transistors.

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

NXP Semiconductors Manufacturer Skill

MPN Structure Overview

NXP has diverse product lines with different naming conventions:

Microcontrollers:   [FAMILY][SERIES][VARIANT][PACKAGE][SUFFIX]
Processors:         MC[IMX][SERIES][VARIANT][PACKAGE][TEMP][REV]
MOSFETs:            [PREFIX][SPEC][PACKAGE]
Transistors:        [BASE][GAIN_GROUP][PACKAGE_SUFFIX]

Product Families

LPC Microcontrollers (ARM Cortex-M)

LPC[SERIES][VARIANT][PACKAGE][PIN_COUNT]
 |    |       |        |         |
 |    |       |        |         +-- Pin count (48, 64, 100, 144, 208)
 |    |       |        +-- FBD=LQFP, FET=TFBGA, FHN=QFN
 |    |       +-- Feature variant
 |    +-- Series (1768, 4357, 5500, etc.)
 +-- LPC family prefix

LPC Series Overview

SeriesCoreFeaturesExample
LPC800Cortex-M0+Low costLPC812M101FDH16
LPC1100Cortex-M0Entry levelLPC1115FBD48
LPC1300Cortex-M3USBLPC1343FBD48
LPC1500Cortex-M3AnalogLPC1549JBD100
LPC1700Cortex-M3Feature richLPC1768FBD100
LPC1800Cortex-M3High performanceLPC1857FET256
LPC4300Cortex-M4/M0Dual coreLPC4357FET180
LPC5500Cortex-M33TrustZoneLPC55S69JBD100

LPC Package Codes

CodePackageDescription
FBDLQFPLow-profile Quad Flat Pack
FETTFBGAThin Fine-pitch Ball Grid Array
FHNQFNQuad Flat No-leads (HVQFN)
JBDLQFPLQFP variant
UKWLCSPWafer Level Chip Scale Package

Example Decoding

LPC1768FBD100
|   |  |   |
|   |  |   +-- 100 pins
|   |  +-- FBD = LQFP package
|   +-- 1768 = Cortex-M3, 512KB Flash, 100MHz
+-- LPC family

LPC55S69JBD100
|   |  ||   |
|   |  ||   +-- 100 pins
|   |  |+-- JBD = LQFP package
|   |  +-- S = Security (TrustZone)
|   +-- 5569 = Cortex-M33, 640KB Flash
+-- LPC family

Kinetis Microcontrollers (MK Series)

MK[FAMILY][SUBSERIES][FLASH][V][PACKAGE][SPEED]
 |   |        |        |   |     |        |
 |   |        |        |   |     |        +-- Speed grade (5=50MHz, 7=72MHz)
 |   |        |        |   |     +-- Package code
 |   |        |        |   +-- V prefix for package
 |   |        |        +-- Flash size code
 |   |        +-- Features (D=USB, E=Ethernet, W=Wireless)
 |   +-- Family (10, 20, 22, 60, 64, 66, etc.)
 +-- MK = Kinetis MCU

Kinetis K Series Families

FamilyCoreFrequencyExample
MK10Cortex-M450-150 MHzMK10DN128VLH5
MK20Cortex-M450-120 MHzMK20DX256VLH7
MK22Cortex-M4F120 MHzMK22FN512VLH12
MK60Cortex-M4100 MHzMK60DN512VLQ10
MK64Cortex-M4F120 MHzMK64FN1M0VLL12
MK66Cortex-M4F180 MHzMK66FN2M0VMD18

Kinetis L Series (Low Power)

FamilyCoreFeaturesExample
MKL02Cortex-M0+Ultra low powerMKL02Z32VFM4
MKL25Cortex-M0+USBMKL25Z128VLK4
MKL26Cortex-M0+USB, LCDMKL26Z256VLH4

Kinetis Package Codes (after V)

CodePackagePins
VFMQFN32
VFTQFN48
VLHLQFP64
VLKLQFP80
VLLLQFP100
VLQLQFP144
VMDBGA144

Speed Grade Suffix

SuffixFrequency
448 MHz
550 MHz
772 MHz
10100 MHz
12120 MHz
18180 MHz

i.MX Applications Processors

MCIMX[SERIES][VARIANT][PACKAGE][TEMP][REV]
  |     |       |        |      |     |
  |     |       |        |      |     +-- Silicon revision (A, B, C, D)
  |     |       |        |      +-- Temperature (C=Commercial, I=Industrial)
  |     |       |        +-- Package code
  |     |       +-- Feature/core variant
  |     +-- Series (6D=Dual, 6Q=Quad, 6S=Solo, 8)
  +-- MCIMX = i.MX processor prefix

i.MX 6 Series Variants

CodeCoresDescription
6S1x Cortex-A9Solo
6D2x Cortex-A9Dual
6Q4x Cortex-A9Quad
6SXCortex-A9 + M4Hybrid
6UL1x Cortex-A7Ultra Lite

i.MX 8 Series

CodeCoresDescription
8MCortex-A53 + M4Mini
8MMCortex-A53 + M4Mini Mini
8MNCortex-A53 + M7Mini Nano
8QMA72 + A53 + M4QuadMax
8QXA35 + M4QuadXPlus

Example Decoding

MCIMX6Q5EYM10AC
  |   |||| | | ||
  |   |||| | | |+-- Silicon rev C
  |   |||| | | +-- A = Automotive/Extended temp
  |   |||| | +-- 10 = 1.0 GHz
  |   |||| +-- M = BGA package
  |   |||+-- Y = specific variant
  |   ||+-- E = features (VPU, GPU)
  |   |+-- 5 = variant code
  |   +-- Q = Quad core
  +-- IMX6 = i.MX 6 series

S32K Automotive MCUs

S32K[SERIES][VARIANT]
    |   |       |
    |   |       +-- Feature suffix (see below)
    |   +-- Model (116, 118, 142, 144, 146, 148, 3xx)
    +-- S32K = Automotive MCU family

S32K1 Series (Cortex-M0+/M4F)

PartCoreFlashPins
S32K116M0+128KB48 LQFP
S32K118M0+256KB48 LQFP
S32K142M4F256KB100 LQFP
S32K144M4F512KB100 LQFP
S32K146M4F1MB144 LQFP
S32K148M4F2MB176 LQFP

S32K3 Series (Cortex-M7)

PartSafetyCoresFlash
S32K322ASIL BDual2MB
S32K344ASIL DLockstep4MB
S32K358ASIL DLockstep+18MB

S32K1 Feature Suffixes

SuffixFeatures
RRAM max
FCAN FD & FlexIO
SSecurity
ACAN FD, FlexIO & Security
EEthernet & Audio
JAll features

MOSFETs

PSMN Series (Power MOSFETs)

PSMN[VOLTAGE][RESISTANCE][PACKAGE]
    |     |         |         |
    |     |         |         +-- Package suffix
    |     |         +-- On-resistance (e.g., 9R2 = 9.2 mohm)
    |     +-- Voltage rating (e.g., 040 = 40V)
    +-- PSMN = Power MOSFET N-channel

BUK Series (Automotive MOSFETs)

BUK[LEVEL][PACKAGE][TECH][VOLTAGE][RESISTANCE]
    |        |       |       |         |
    |        |       |       |         +-- Resistance code
    |        |       |       +-- Voltage rating
    |        |       +-- Technology generation
    |        +-- Package code
    +-- Level: 7=Standard, 9=Logic

BUK Package Codes

CodePackage
YLFPAK56
KLFPAK56D (Dual)
MLFPAK33
2DPAK
6D2PAK
5TO-220
EI2PAK

BUK Technology Codes

CodeGeneration
ETrench 6
CTrench 4
BTrench 3
ATrench 2

PMV/BSS Series (Small Signal MOSFETs)

PrefixTypePackage
PMVSmall signalSOT-23, SOT-323
BSSSmall signalSOT-23, SOT-323

Transistors

BC847/BC857 Series

BC847[GAIN][PACKAGE_SUFFIX]
  |    |        |
  |    |        +-- Package: (none)=SOT-23, W=SOT-323, MB=DFN
  |    +-- Gain group: A, B, C (hFE ranges)
  +-- BC847 = NPN (BC857 = PNP complement)

Transistor Gain Groups

SuffixhFE Range
A110-220
B200-450
C420-800

Package Variants

SuffixPackageSize
(none)SOT-23TO-236AB
WSOT-323SC-70
MBDFNSOT883B

PN Series (2N Equivalents)

NXP PartEquivalentType
PN22222N2222NPN
PN29072N2907PNP
PN39042N3904NPN
PN39062N3906PNP
PN44012N4401NPN
PN44032N4403PNP

Temperature Grades

GradeRangeSuffix
Commercial0C to +70C(none) or C
Industrial-40C to +85CI
Extended-40C to +105CE
Automotive-40C to +125CA

Handler Implementation Notes

Package Code Extraction

// LPC: Extract from FBD, FET, FHN, JBD, UK patterns
if (upperMpn.startsWith("LPC")) {
    // LPC1768FBD100 -> FBD100
    // Find where letters after digits start
    int numEnd = findLastDigit(mpn, "LPC".length()) + 1;
    if (numEnd < mpn.length()) {
        return mpn.substring(numEnd);
    }
}

// Kinetis: Package is between V and speed digit
// MK64FN1M0VLL12 -> VLL (LQFP100)
if (upperMpn.startsWith("MK")) {
    int vPos = upperMpn.indexOf('V');
    if (vPos > 0) {
        // Extract 3-letter package code after V
        return upperMpn.substring(vPos, Math.min(vPos + 4, upperMpn.length()));
    }
}

// i.MX: Complex - after variant letters
// MCIMX6Q5EYM10AC -> M (BGA)

Series Extraction

// LPC: Family is LPC + series digits
// LPC1768FBD100 -> LPC1768
// LPC55S69JBD100 -> LPC55S69

// Kinetis: MK + family + subseries
// MK64FN1M0VLL12 -> MK64
// MKL25Z128VLK4 -> MKL25

// S32K: Full model number
// S32K144 -> S32K144

Known Issues in Current Handler

  1. HashSet usage: Line 80 uses
    new HashSet<>()
    - should use
    Set.of()
    for immutability
  2. Op-amp attribution error: LM358, LM324, LM741 are Texas Instruments parts, NOT NXP
  3. QorIQ pattern too broad:
    ^P[0-9]+.*
    may match unrelated parts
  4. Missing patterns: PMV and BSS MOSFETs in matches() but not initializePatterns()
  5. Package extraction incomplete: Only handles LPC and MCIMX, missing Kinetis, S32K, MOSFETs

Pattern Recommendations

// LPC - more specific
"^LPC[0-9]{3,4}[A-Z]?[A-Z]{2,3}[0-9]{2,3}.*"

// Kinetis K series
"^MK[0-9]{2}[A-Z]{0,2}[0-9]+V[A-Z]{2,3}[0-9]+$"

// Kinetis L series
"^MKL[0-9]{2}[A-Z][0-9]+V[A-Z]{2,3}[0-9]+$"

// S32K with optional suffix
"^S32K[0-9]{3}[A-Z]?.*"

// i.MX - starts with MCIMX or MIMX
"^(?:MC)?IMX[0-9][A-Z0-9]+.*"

Related Files

  • Handler:
    manufacturers/NXPHandler.java
  • Component types:
    MICROCONTROLLER_NXP
    ,
    MCU_NXP
    ,
    KINETIS_MCU
    ,
    LPC_MCU
    ,
    IMX_PROCESSOR
    ,
    MOSFET_NXP
    ,
    TRANSISTOR_NXP

External References


Learnings & Edge Cases

  • Nexperia spin-off: BC847/BC857 transistors and some MOSFETs are now Nexperia (spun off from NXP in 2017)
  • LPC55 security: The "S" in LPC55S69 indicates TrustZone security support
  • i.MX ordering: MCIMX prefix is for ordering, datasheets often use just IMX
  • Kinetis F vs no-F: "F" in MK64F indicates floating-point unit (Cortex-M4F vs M4)
  • Package number is pin count: In LPC, FBD100 means LQFP with 100 pins
<!-- Add new learnings above this line -->