Nuvoton Technology Manufacturer Skill
MPN Structure
Nuvoton has multiple product families with different MPN structures:
ARM Cortex-M MCUs (NUC, M-series)
NUC[SERIES][LINE][PIN][FLASH][PKG][TEMP][VER]
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ └── Version (0, 1, etc.)
│ │ │ │ │ │ └── Temperature (N=normal, A=automotive)
│ │ │ │ │ └── Package type (A=QFN, etc.)
│ │ │ │ └── Flash size code
│ │ │ └── Pin code (LD=48, SD=64, VD=100, ZD=144)
│ │ └── Line number (23, 40, etc.)
│ └── Series (1=Cortex-M0, 2=Cortex-M0)
└── NuMicro prefix
M[LINE][PIN][FLASH][PKG]
│ │ │ │ │
│ │ │ │ └── Package code (AE=LQFP-48)
│ │ │ └── Flash size code
│ │ └── Pin code (LD=48, SD=64, LG=100, KI=128)
│ └── Line number (031=entry, 451=motor, 480=high-perf)
└── M-series prefix
Example Decoding
NUC123LD4AN0
│ │ │ │││││
│ │ │ ││││└── Version 0
│ │ │ │││└── Temperature N (normal)
│ │ │ ││└── Package A (QFN)
│ │ │ │└── Flash 4 (64KB)
│ │ │ └── Pin LD (LQFP-48)
│ │ └── Line 23
│ └── Series 1 (Cortex-M0)
└── NUC prefix
M451LG6AE
│ │ │ ││
│ │ │ │└── Package E (LQFP variant)
│ │ │ └── Package A (LQFP)
│ │ └── Flash 6 (512KB)
│ └── Pin LG (LQFP-100)
└── M451 series (Cortex-M4 motor control)
Package Codes
NUC Series Pin Codes
| Code | Package | Pin Count | |------|---------|-----------| | LD | LQFP-48 | 48 | | LE | LQFP-48 | 48 | | SD | LQFP-64 | 64 | | SE | LQFP-64 | 64 | | VD | LQFP-100 | 100 | | VE | LQFP-100 | 100 | | ZD | LQFP-144 | 144 | | AN | QFN-33 | 33 |
M-Series Pin Codes
| Code | Package | Pin Count | |------|---------|-----------| | LD | LQFP-48 | 48 | | LC | LQFP-48 | 48 | | SD | LQFP-64 | 64 | | SC | LQFP-64 | 64 | | LG | LQFP-100 | 100 | | VG | LQFP-100 | 100 | | KI | LQFP-128 | 128 | | ZG | LQFP-144 | 144 | | ZI | LQFP-144 | 144 |
8051 MCU Package Codes
| Code | Package | |------|---------| | AT | TSSOP-20 | | AS | SOP-20 | | AQ | QFN-20 | | FB | TSSOP-20 | | DA | TSSOP-16 | | BA | TSSOP-8 | | AE | LQFP-48 |
Audio Codec Package Codes
| Code | Package | |------|---------| | YG | QFN-32 | | YGB | QFN-32 | | LG | WLCSP | | G | QFN-48 |
Product Families
ARM Cortex-M MCUs
| Series | Core | Features | Max Clock | |--------|------|----------|-----------| | NUC1xx | Cortex-M0 | General purpose | 50MHz | | NUC2xx | Cortex-M0 | Enhanced peripherals | 72MHz | | M031 | Cortex-M0 | Entry-level | 48MHz | | M451 | Cortex-M4 | Motor control | 72MHz | | M480 | Cortex-M4 | High performance | 192MHz |
8051-Based MCUs
| Series | Core | Features | |--------|------|----------| | N76E003 | 8051 | Low-cost, small footprint | | MS51 | Enhanced 8051 | More peripherals |
Audio Codecs
| Series | Type | Features | |--------|------|----------| | NAU8810 | Mono Codec | Single input/output | | NAU8822 | Stereo Codec | Dual input/output | | NAU88L25 | Low Power Codec | Battery applications |
Security ICs
| Series | Type | Features | |--------|------|----------| | NPCT6xx | TPM 2.0 | Trusted Platform Module |
Flash Size Encoding
NUC Series
| Code | Flash Size | |------|------------| | 2 | 16KB | | 3 | 32KB | | 4 | 64KB | | 5 | 128KB | | 6 | 256KB |
M-Series (Numeric)
| Code | Flash Size | |------|------------| | 2 | 32KB | | 3 | 64KB | | 4 | 128KB | | 5 | 256KB | | 6 | 512KB |
M480 Series (Letter)
| Code | Flash Size | |------|------------| | A | 128KB | | B | 256KB | | C | 384KB | | D | 512KB |
Handler Implementation Notes
Package Code Extraction
// NUC series: Pin code is after line number
// NUC123LD4AN0 -> LD determines package
// M-series: Pin code is after series number
// M451LG6AE -> LG determines package
// N76E series: Package code is 2-letter prefix of pin count
// N76E003AT20 -> AT = TSSOP, 20 = pins
Series Extraction
// NUC1xx and NUC2xx return generic series
if (upperMpn.matches("^NUC1\\d{2}.*")) return "NUC1xx";
if (upperMpn.matches("^NUC2\\d{2}.*")) return "NUC2xx";
// M-series returns exact line number
if (upperMpn.startsWith("M031")) return "M031";
if (upperMpn.startsWith("M451")) return "M451";
if (upperMpn.startsWith("M480")) return "M480";
// NAU88L must be checked before NAU88
if (upperMpn.matches("^NAU88L\\d{2}.*")) return "NAU88L";
Official Replacement Logic
// MCUs: Same series AND same pin count are replacements
// Audio Codecs: Same series are replacements (package variants OK)
Related Files
- Handler:
manufacturers/NuvotonHandler.java - Component types:
MICROCONTROLLER,IC
Learnings & Edge Cases
- NUC vs M naming: NUC series uses full format (NUC123LD4AN0), M-series is shorter (M451LG6AE)
- N76E003 popularity: Most popular Nuvoton 8051 MCU due to low cost and Arduino compatibility
- NAU88L prefix: NAU88L25 must match before generic NAU88xx pattern
- M480 flash encoding: Uses letters (A-D) instead of numbers for flash size
- Pin code position varies: NUC at position 6, M-series at position 4, N76E at end of MPN
- TPM chips: NPCT6xx series are security ICs, not MCUs
Scan to join WeChat group