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