Lib-electronic-components sgmicro

SG Micro Corp MPN encoding patterns, suffix decoding, and handler guidance. Use when working with SG Micro analog ICs.

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

SG Micro Corp Manufacturer Skill

MPN Structure

SG Micro MPNs follow this general structure:

[SGM][SERIES][VARIANT][-VOLTAGE][PACKAGE][G][/TR]
  |     |        |        |         |     |   |
  |     |        |        |         |     |   +-- /TR = Tape and Reel
  |     |        |        |         |     +-- G = Green/RoHS
  |     |        |        |         +-- Package code (YN5, XN, YS8, etc.)
  |     |        |        +-- Optional voltage (e.g., -3.3)
  |     |        +-- Variant letter (A, B, etc.)
  |     +-- 4-5 digit series (2xxx, 4xxx, 58xxx, 6xxx, 8xxx)
  +-- SGM = SG Micro prefix

Example Decoding

SGM2019-3.3YN5G/TR
|  |   |   |  | |
|  |   |   |  | +-- /TR = Tape and reel
|  |   |   |  +-- G = RoHS/Green
|  |   |   +-- YN5 = SOT-23-5 package
|  |   +-- 3.3 = 3.3V output voltage
|  +-- 2019 = LDO regulator series
+-- SGM = SG Micro prefix

SGM8051XN5G/TR
|  |  | | | |
|  |  | | | +-- /TR = Tape and reel
|  |  | | +-- G = RoHS
|  |  | +-- XN5 = SC70-5 package
|  |  +-- 1 = Variant (single op-amp)
|  +-- 805 = Op-amp series
+-- SGM = SG Micro prefix

SGM6603AYTD6G/TR
|  |  | |   | |
|  |  | |   | +-- /TR = Tape and reel
|  |  | |   +-- G = RoHS
|  |  | +-- YTD6 = DFN-6 package
|  |  +-- A = Variant
|  +-- 6603 = DC-DC converter series
+-- SGM = SG Micro prefix

Package Codes

SOT-23 Family (Y prefix)

CodePackagePin Count
YNSOT-233
YN5SOT-23-55
YN6SOT-23-66
YN8SOT-23-88

SC70 Family (X prefix)

CodePackagePin Count
XNSC703
XN5SC70-55
XN6SC70-66

SOIC Family (YS)

CodePackagePin Count
YSSOIC-88
YS8SOIC-88
YS14SOIC-1414
YS16SOIC-1616

MSOP Family (XS)

CodePackagePin Count
XSMSOP-88
XS8MSOP-88
XS10MSOP-1010

DFN Family (YTD/XTD)

CodePackagePin Count
YTDDFNVarious
YTD6DFN-66
YTD8DFN-88
XTDDFNVarious

QFN Family (YQN)

CodePackagePin Count
YQNQFNVarious
YQN16QFN-1616
YQN20QFN-2020

WLCSP (UTD/UFC)

CodePackageNotes
UTDWLCSPWafer-level CSP
UFCWLCSPWLCSP variant

Product Lines

SGM2xxx - LDO Regulators

SeriesDescriptionFeatures
SGM2019Ultra-low Iq LDO1.7uA quiescent
SGM2036300mA LDOLow noise
SGM2040300mA LDOFast transient

SGM4xxx - ADCs/DACs/Analog Switches

SeriesDescriptionType
SGM4567Analog switchSPDT
SGM4xxxMixed signalVarious functions

SGM58xxx - High-Precision ADCs

SeriesDescriptionResolution
SGM58031Precision ADC16-bit
SGM58xxxHigh-resolution ADCsVarious

SGM6xxx - DC-DC Converters

SeriesDescriptionType
SGM6132Synchronous buckStep-down
SGM6603Buck converterHigh efficiency

SGM8xxx - Op-Amps/Comparators

SubseriesTypeDescription
SGM80xx-SGM85xxOp-ampsVarious configurations
SGM8051Single op-ampRail-to-rail
SGM8262Dual op-ampLow noise
SGM8521Single op-ampHigh precision
SGM87xx-SGM89xxComparatorsFast/precision
SGM8711ComparatorOpen-drain output
SGM8722Dual comparatorPush-pull output

Handler Implementation Notes

Package Code Extraction

// SG Micro package codes start with Y, X, or U
// Pattern: SGM[0-9]{4,5}[-.]?[voltage]?[package-code]G?(/TR)?
// Extract 2-4 uppercase letters optionally followed by digits

// Remove G and /TR suffixes first
String baseMpn = upperMpn.replaceAll("G?(/TR)?$", "");

// Find package code pattern
Pattern packagePattern = Pattern.compile(".*?([XYUQ][A-Z]*[0-9]*)(?:G?(/TR)?)?$");

Series Extraction

// SGM58xxx is special (5 digits)
// Other series are 4 digits: SGM2xxx, SGM4xxx, SGM6xxx, SGM8xxx

if (upperMpn.startsWith("SGM58") && upperMpn.length() >= 8) {
    return "SGM58";  // High-precision ADC series
}
if (upperMpn.matches("^SGM[0-9][0-9]{3}.*")) {
    return upperMpn.substring(0, 4);  // SGM2, SGM4, SGM6, SGM8
}

Op-Amp vs Comparator Detection

// Op-amps: SGM80xx through SGM85xx
private boolean isOpAmp(String mpn) {
    return mpn.matches("^SGM8[0-5][0-9]{2}[A-Z0-9./-]*$");
}

// Comparators: SGM87xx and higher
private boolean isComparator(String mpn) {
    return mpn.matches("^SGM8[7-9][0-9]{2}[A-Z0-9./-]*$");
}

Voltage in MPN

// Voltage can appear as -3.3 or -3.0 in the MPN
// SGM2019-3.3YN5G/TR -> 3.3V output
// The handler allows dots in MPN patterns: [A-Z0-9./-]*

Product Type Detection

public boolean isLDOPart(String mpn) {
    return mpn.matches("^SGM2[0-9]{3}[A-Z0-9./-]*$");
}

public boolean isDCDCPart(String mpn) {
    return mpn.matches("^SGM6[0-9]{3}[A-Z0-9./-]*$");
}

public boolean isOpAmpPart(String mpn) {
    return mpn.matches("^SGM8[0-5][0-9]{2}[A-Z0-9./-]*$");
}

public boolean isComparatorPart(String mpn) {
    return mpn.matches("^SGM8[7-9][0-9]{2}[A-Z0-9./-]*$");
}

Related Files

  • Handler:
    manufacturers/SGMicroHandler.java
  • Component types:
    IC
    ,
    VOLTAGE_REGULATOR
    ,
    OPAMP
  • Test file:
    handlers/SGMicroHandlerTest.java

Learnings & Edge Cases

  • Voltage in MPN: LDO parts often include output voltage in the MPN (e.g., SGM2019-3.3)
  • Dot character in MPN: Pattern must allow dots for voltage codes (3.3V, 1.8V, etc.)
  • Package code prefix: Y = SOT/SOIC, X = SC70/MSOP, U = WLCSP
  • G suffix: Indicates RoHS/Green compliance, not part of package code
  • Op-amp numbering: SGM8051 = single, SGM8262 = dual (similar to industry standard)
  • SGM8xxx split: 80-85xx are op-amps, 87-89xx are comparators
  • ADC series: SGM58xxx has 5 digits (unlike other 4-digit series)
  • Trailing /TR: Common tape and reel suffix, strip before package extraction
  • No slash in patterns: Despite /TR suffix, base patterns use [A-Z0-9./-] to handle it
<!-- Add new learnings above this line -->